CodeEngn05.pdf

 

'0x003 Reversing > 01. CodeEngn Basic' 카테고리의 다른 글

[CodeEngn] Challenge : Basic 07  (0) 2017.12.29
[CodeEngn] Challenge : Basic 06  (0) 2017.12.29
[CodeEngn] Challenge : Basic 04  (0) 2017.12.29
[CodeEngn] Challenge : Basic 03  (0) 2017.12.29
[CodeEngn] Challenge : Basic 02  (0) 2017.12.29

CodeEngn04.pdf

 

'0x003 Reversing > 01. CodeEngn Basic' 카테고리의 다른 글

[CodeEngn] Challenge : Basic 06  (0) 2017.12.29
[CodeEngn] Challenge : Basic 05  (0) 2017.12.29
[CodeEngn] Challenge : Basic 03  (0) 2017.12.29
[CodeEngn] Challenge : Basic 02  (0) 2017.12.29
[CodeEngn] Challenge : Basic 01  (0) 2017.12.29

CodeEngn03.pdf

 

'0x003 Reversing > 01. CodeEngn Basic' 카테고리의 다른 글

[CodeEngn] Challenge : Basic 06  (0) 2017.12.29
[CodeEngn] Challenge : Basic 05  (0) 2017.12.29
[CodeEngn] Challenge : Basic 04  (0) 2017.12.29
[CodeEngn] Challenge : Basic 02  (0) 2017.12.29
[CodeEngn] Challenge : Basic 01  (0) 2017.12.29

CodeEngn02.pdf

 

'0x003 Reversing > 01. CodeEngn Basic' 카테고리의 다른 글

[CodeEngn] Challenge : Basic 06  (0) 2017.12.29
[CodeEngn] Challenge : Basic 05  (0) 2017.12.29
[CodeEngn] Challenge : Basic 04  (0) 2017.12.29
[CodeEngn] Challenge : Basic 03  (0) 2017.12.29
[CodeEngn] Challenge : Basic 01  (0) 2017.12.29

CodeEngn01.pdf

 

'0x003 Reversing > 01. CodeEngn Basic' 카테고리의 다른 글

[CodeEngn] Challenge : Basic 06  (0) 2017.12.29
[CodeEngn] Challenge : Basic 05  (0) 2017.12.29
[CodeEngn] Challenge : Basic 04  (0) 2017.12.29
[CodeEngn] Challenge : Basic 03  (0) 2017.12.29
[CodeEngn] Challenge : Basic 02  (0) 2017.12.29

  Use-After-Free 취약점은 Free된 포인터를  사용함으로써 발생하는 버그이다. Use-After-Free 버그가 발생되는 대표적인 예는 아래와 같다. 

 

Object *obj = (Object *) malloc(sizeof(Object));
obj->Method();
free(obj);

obj->Method(); // Use-After-Free

 

  Dangling Pointer : 이미 Free된 메모리를 가리키는 포인터 

'0x012 Etc' 카테고리의 다른 글

[Git] Fork한 Repository 최신으로 동기화 하는 방법  (0) 2019.06.03
[Etc] GitHub 학습 사이트  (0) 2018.11.18
[Etc] Open Source License Guide  (0) 2017.12.29
[Term] CVE  (0) 2017.12.29
[Term] Intrusion Detection System  (0) 2017.12.29

  Open Source 소프트웨어는 일반적으로 자유롭게 사용, 복제, 배포, 수정할 수 있으며, 소스코드가 공개된 소프트웨어를 말한다. Open Source 소트프웨어 역시 독점소프트웨어와 동일하게 저작권 등에 의한 법적 보호를 받고 있으며, 이와 같은 권리에 기반하여 이용자에게 라이센스를 부여한다. Open Source 라이센스에서 요구하고 있는 준수사항을 이행하지 않는 경우 권리자로부터 저작권 위반( 또는 계약 위반)으로 소송을 제기 당할 수 있다. 따라서 인터넷 상에서 자유롭게 구할 수 있는 오픈소스를 개발에 적용할 때는 반드시 라이센스 요구 사항을 확인해야한다. 주요 라이센스 별 요구 사항은 다음과 같다
 


GPL

   FSF(Free Software Foundation)에서 주도하여 만든것으로 BSD License 와 비슷하지만 카피레프트 조항과 소스코드 제공 의무를 가지고 있다는 점에서 큰 차이가 있다.

 
< 그림 1. GPL 관련 규정 >

 

   동일한 바이너리에 포함되지 않더라도 동적 링크 등의 방식으로 공유주소영역에서 링크되어 실행되도록 설계된 경우, 플러그인이 동적으로 링크되어 함수를 호출하고 데이터구조를 공유하는 경우에도 GPL 소프트웨어와 함께 링크되어 실행되는 소프트웨어에도 GPL 이 적용되어 소스코드를 제공해야한다. 반면 두 개의 프로그램이 파이프, 소켓, Command-Line Arguments 형태로 통신하는 경우, 플러그인이 fork() / exec() 을 이용하는 경우 등은 별도의 저작물로서 GPL 이 적용되지 않는다.


 

< 그림 2. GPL 관련 규정 >

 

< 그림 3. GPL 관련 상담 사례>


LGPL

  주로 라이브러리에 사용하기 위해 FSF( Free Software Foundation ) GPL 과는 별도로 만든 라이센스이다. 라이브러리에 GPL 라이센스를 적용하게 되면 응용프로그램까지 GPL로 배포해야 하므로 GPL의 내용을 약간 수정하여 라이브러리 자체를 수정한 경우에는 카피레프트 조항을 적용하고, 해당 라이브러리를 이용한 응용프로그램은 카피레프트 조항을 적용하지 않고 소스코드 제공 의무도 없다.  

BSD License

  버클리 대학에서 만든 라이센스로 소프트웨어를 재배포할 때 저작권 표시를 할 것과 준수 조건 및 보증부인에 대한 고지사항을 소스코드 도는 문서 및 기타 자료에 포함할 것을 요구 하고 있다.
 
Apache License

  아파치소프트웨어재단( Apache Software Foundation ) 에서 배포한 라이센스이다. 1.0 1.1 버전은 BSD License 와 유사하게 간단한 내용만 담고 있었지만, 현재 사용되는 2.0 버전은 비교적 상세한 내용을 담고 있다. 배포 시 의무사항으로는 저작권, 특허, 상표, 권리 귀속에 대한 고지사항을 소스코드 또는 “Notice” 파일 등에 포함할 것과 수취인에게 라이센스 사본을 제공하도록 요구하고 있으며 파일을 수정하여 배포할 경우 수정된 파일에 대해 수정사항을 표기한 안내 문구를 첨부할 것을 요구하고 있다.
  하지만 카피레프트조항( 원 코드나 수정코드를 재배포할 때 동일한 라이센스로 배포해야한다는 조항 )을 포함하고 있지 않기 때문에 반드시 동일한 라이센스로 배포할 필요는 없으며 소스코드 제공 의무도 없지만 Apache 라이센스 등이 요구하는 기타의 사항(저작권 및 개발자 표시, 수정내용 고지 등)은 준수해야한다.

'0x012 Etc' 카테고리의 다른 글

[Etc] GitHub 학습 사이트  (0) 2018.11.18
[Term] Use-After-Free Exploit  (0) 2017.12.29
[Term] CVE  (0) 2017.12.29
[Term] Intrusion Detection System  (0) 2017.12.29
[Term] Denial of Service Attack  (0) 2017.12.29

 

 접근

Host-Only 

NAT/공유 

브릿지 

 VM->VM

 O 

O

 O 

 VM->Host

O

 O 

O

 VM->Other Host

 X 

O

O

 Host -> VM

O

O

O

 Other Host -> VM

 X 

 X 

 O 

 

 

 1) Host-Only : 호스트와 VM간 공유가 가능한 사설 LAN을 생성하며 VM은 외부 시스템과 통신하지 못한다.
 2) NAT/공유 : VM은 외부 접속이 허용되지만 호스트 IP 에서 연결한것으로 인식된다. 호스트에서 포트 포워딩을 설정하지 않는 경우 외부에서 VM으로 접근이 불가능하다.
 3) 브릿지 모드 : VM이 호스트의 물리적 이더넷 어댑터를 공유하고 개별적인 IP와 MAC을 가진다. VM이 호스트와 동일한 로컬 서브넷으로 나타난다.

 

'0x011 Tool' 카테고리의 다른 글

[Windows] Process Monitor  (0) 2017.12.29
[Windows] dex2jar | jd gui  (0) 2017.12.29
[Windows] Cain&Abel  (0) 2017.12.29
[All] VMWare Workstation  (0) 2017.12.29
[Windows] Resource Hacker  (0) 2017.12.29

CVE( Common Vulnerabilities and Exposure)는 알려진 소프트웨어의 취약점을 가리키는 고유 표기를 뜻한다.

출처 : http://cve.mitre.org

'0x012 Etc' 카테고리의 다른 글

[Term] Use-After-Free Exploit  (0) 2017.12.29
[Etc] Open Source License Guide  (0) 2017.12.29
[Term] Intrusion Detection System  (0) 2017.12.29
[Term] Denial of Service Attack  (0) 2017.12.29
[Term] Cryptography  (0) 2017.12.29

Intrusion Detection System

 

  침입 탐지 시스템(Intrusion Detection System)은 일반적으로 시스템에 대한 원치 않는 조작을 탐지 해준다. 시스템에 대한 원치 않는 조작은 악의를 가진 숙련된 해커 또는 자동화된 툴을 사용하는 스크립트 키디에 의한 공격의 형태로 행해질 수 있다. 침입 탐지 시스템은 전통적인 방화벽이 탐지할 수 없는 모든 종류의 악의적인 네트워크 트래픽 및 컴퓨터 사용을 탐지하기 위해 필요하다. 이것은 취약한 서비스에 대한 네트워크 공격과 애플리케이션에서의 데이터 처리 공격 그리고 권한 상승 및 침입자 로그인, 침입자에 의한 주요 파일 접근, 악성 소프트웨어(바이러스, 트로이 목마, 웜)와 같은 호스트 기반 공격을 포함한다. 침입 탐지 시스템은 여러개의 구성 요소로 이루어져 있다. 센서는 보안 이벤트를 발생시키며, 콘솔은 이벤트를 모니터하고 센서를 제어하거나 경계시키며, 중앙 엔진은 센서에 의해 기록된 이벤트를 데이터베이스에 기록하거나, 시스템 규칙을 사용하여 수신된 보안 이벤트로부터 경고를 생성한다. 침입 탐지 시스템에는 두가지 방법이 존재한다. 두 가지 방법은 아래와 같다.

 

 1) 시그니처 기반 침입 탐지

    악의적인 것으로 추정되는 트래픽 또는 애플리케이션 데이터의 패턴을 감시하여 침입을 식별한다.

  패턴을 가지고 있는 행위만 탐지가 가능하다. 패턴을 서로 공유하거나 업데이트를 통해 새로운 공격
  들을 탐지 할 수 있다. 채집된 정보를 분석하여, 공격 시그니처를 저장하는 거대한 데이터베이스를
  통해 그것을 비교한다. 이미 문서화된 특정 공격을 찾는 것이다.

 

  2) 변칙 기반 침입 탐지

    네트워크 또는 호스트의 일반적인 동작과 다른것으로 추정되는 트래픽 또는 애플리케이션 컨텐트를
   시스템 운영자에게 알리는 것으로 침입을 식별한다. 변칙 기반 침입 탐지 시스템은 이것을 스스로
   학습한다. 변칙 탐지에서 시스템 관리자는 네트워크의 트래픽 로드, 고장, 프로토콜 그리고 일반적인
   패킷 크기에 대한 기준선 또는 일반 상태를 정의한다. 변칙 탐지자는 네트워크 세그먼트를 모니터링
   하여 정의된 기준과 그들의 상태를 비교하고 변칙을 찾는다.

 

출처 : 위키 백과 

 

'0x012 Etc' 카테고리의 다른 글

[Etc] Open Source License Guide  (0) 2017.12.29
[Term] CVE  (0) 2017.12.29
[Term] Denial of Service Attack  (0) 2017.12.29
[Term] Cryptography  (0) 2017.12.29
[Term] Social Engineering  (0) 2017.12.29

+ Recent posts