악의적인 코드는 항상 악의적인 수행을 하는데,평범한 코드여도 code reuse에 의해 악의적인 수행을 할 수 있다. Data Execution Preventionwritable한 영역을 excutable하지 않게 만든다.Linux에서는 PaX patch를 하여 사용 등..이를 이용해 shell code 활용 공격에서도, return address에서 malicious code로 jmp했을 때, 그 악의적인 코드가 excutable하지 않은 영역이라면 실행할 수 없게 만들어 공격을 방어할 수 있게 된다. DEP 환경 공격그렇다면 DEP환경에서는 어떻게 공격을 할 수 있을까?보통 이렇게 stack이 꾸며진다고 생각할 것이다.첫 함수가 있고, 그다음 return 주소가 올 4byte를 남기고, 그 후 파라미..
분류 전체보기
Control Flow Hijacking취약한 프로그램에서 control flow가 일어나 기존 시행돼야 할 Basic block을 실행하지 않고 malicious code를 실행시키는 것 Simple Buffer Overflowscanf같이 입력값을 조사하지 않는 함수로 큰 입력을 받아 return address의 값을 덮어씌워 변경하는 것그런데 만약, 메모리를 덮어쓸 때 공격자가 Malicious code를 넣고, 덮어씌워진 return address 부분에서 악성코드쪽으로 jmp하게 한다면 악성코드도 실행할 수 있을 것이다. 그 악성코드를 쉘코드라고 하고, 이 쉘코드를 어떻게 쓸지를 공부하는 것이 오늘의 목표이다. Shell code 작성 원리c언어를 컴파일하여 binary로 만들어 추출할 수도 ..
Cyberattack컴퓨터 네트워크나 시스템에 악의적인 목적으로 접근하기 위한 시도로, 정보 탈취/훼손 등을 수행하는 것.특정 사용자/조직/정부/불특정 다수를 대상으로 함.보통 '난 이 시스템을 트로이목마 방식으로 공격하겠어!' 가 아닌, 시스템을 분석해보고 조금씩 공격해보며 공격 기법을 사용해본다.즉, 미리 공격 기법을 정하고 시작하진 않는다는 것사이버공격을 100% 차단할 수는 없다. 그저 피해를 줄이는 것뿐.. Malware - 악의적인 SW컴퓨터, 네트워크, 서버에 위해를 가할 목적으로 설계된 악의적인 소프트웨어랜섬웨어, 트로이목마, 스파이웨어, 바이러스, 웜, 키로거, bots 요거 유튜브 영상 보기! OS/프로그램 등의 업데이트를 잘 해라(보안 패치를 잘 해서 최적의 보안 상태를 유지해라),..
feature 분석을 할 때 신경써야할 것들 1. 데이터 확인- 데이터 분포/결측치 확인(EDA) : 개수, 내용, 차원, 이상치 threshold 등 2. 평가지표- RMSE, MAE, Recall, Precision 등 어떤 평가지표를 더욱 중요하게 생각해야 하는지 3. 상관관계- Feature간 상관관계 확인 : 만약 상관관계가 너무 높은 feature들이 있다면, 다중공선성 문제가 생길 수 있음- VIF 지수 확인- 정상데이터 vs 이상치데이터 의 feature간 상관관계 분석 - 개별 feature의 상관관계 분석 분포의 이동: 이상치 데이터에서 특정 피처의 평균이나 중앙값이 한쪽으로 크게 쏠려 있는가?분산의 변화: 이상치 데이터에서 피처 값들이 더 넓게 퍼져 있거나(분산 증가), 특정 값에만 ..
※ 항상 말을 할 때, Passive Attack은 반응이 느리다! 이렇게 말하면 안된다. 상대적으로, Passive Attack은 Active Attack에 비해 반응이 느리다! 이렇게 말해야 한다. Passive Attack도청, 모니터링, 정보 탈취를 통한 행위로, 데이터를 수정/변경하지 않고 분석만 하는 것이다. 내가 원하는 정보를 찾을 때까지!이는 Active attack에 비해 원하는 정보를 찾기 위해서 상당히 오랜 시간이 걸린다. 하지만 마찬가지로 공격 대상이 공격을 발견하고, 대응하기까지도 시간이 오래 걸린다. 그리고 이 정보를 찾는다고 해서 액션을 취하기에는 제한적인 상황인 경우가 많다.A->B로 정보가 이동할 때 그 트래픽을 분석하거나, 키보드로 무엇을 입력하는지를 키로깅을 통해 알아..
IAM 디지털 아이덴티티, 접근 정책, 기술을 관리하는 framework(체계, 구조가 갖춰져있는 것)사용자의 권한에 따라 접근 가능한 정보가 달라진다. 이를 잘 설정하여 보안 강도를 높이려 한다.이것이 왜 중요하냐면, 컴퓨터의 서로 다른 영역이 긴밀히 연결되는 하이브리드 환경인데, 이때 식별/권한/제어가 더 중요해진다. Authentication, Authorization, Accounting - AAA FrameworkAuthentication(인증) : 시스템에 접근 혹은 자원을 요청했을 때 실제 사용자가 맞는지 검증하는 단계PW - 간단 but 쉽게 까먹음, 가짓수 제한적이기에 brute force 공격 가능, social engineering으로 인한 공격 가능, 여러 사이트 재사용 -> 비밀..
Asset, Threats, Vulnerability, RiskAsset (자산)유(HW, firmware, network device...)무(인적 자원, 데이터, 정보, sw...)형의 자산이해 당사자들 간 보호해야 할 가치가 있는 대상Threats (위협)자산이 가진 잠재적인 약점, CIA에 영향을 끼칠 수 있다.자산이 존재하는 한 위협을 100% 없앨 수는 없다. Vulnerability (취약점)자산의 위협이 드러났을 때 생기는 문제, 대응 가능Risk (위험) = A*T*V자산, 위협, 취약점의 상관관계로 정의된다. 위험 관리 프레임워크 : 위 세 문제를 다 어우르는 해결(?) 위 내용들의 상관관계자산 * 위협 = 취약점자산 * 위협 * 취약점 = 위험 Passive(수동, 소극적) atta..
DIKW pyramidData->Wisdom : value upWisdom->Data : meaning upData : 관찰을 측정하여 사실을 나열한 것, 가공되지 않음Information : 데이터 전처리 후 의미있어진 것 Knowledge : 가치있는 정보Wisdom : 적절한 경험을 통한 미래 예측 Information Security 정보나 정보 시스템을 허가받지 않은 접근/사용, 유출 등의 것으로부터 지키고 기밀성, 무결성, 가용성을 제공해주는 것 정보보안(Information Security) : 보호하기 위한 절차/구체적인 방법, 관리적/기술적/물리적 정보보호(Information Protection) : 특정 대상을 보호하는 것, 단일 객체 위주(개인정보 보호 등), HW/SW 인증(A..