본문 바로가기

전체 글

(98)
6. 기타 해킹 기술 무선랜 해킹 기술 유선 사용이 불가능한 지역에서는 무선 AP를 통해 인터넷을 사용할 수 있다. 무선 랜은 적합한 사용자를 인증하고, 전송 데이터를 암호화하기 위해 WEP, WPA, WPA2와 같은 다양한 보안 메커니즘을 지원하고 있다. WEP(Wired Equivalent Privacy)는 무선 랜 보안을 위해 최초에 개발된 알고리즘으로 보안을 위해 RC4 스트림 암호화 기법을 사용한다. RC4에 대한 취약성은 널리 알려졌기 때문에 인터넷에서 쉽게 구할 수 있는 어플리케이션으로 해킹이 가능하다. WPA(Wi-Fi Protected Access)는 WEP의 보안취약성을 보완하기 위해 등장한 인증 프로그램이다. TKIP를 사용해 보안성을 높였지만, 최초 인증과정에서 WPA 키를 숨기는 취약점을 내포하고 있다..
5. 시스템 해킹 기술 개요 컴퓨터 시스템은 하드웨어, 운영체제, 프로세스로 이루어져 있다. 각각의 구성요소는 인터페이스를 통해 서로 정보를 주고받으면서 유기적으로 동작한다. 컴퓨터 시스템은 다양한 기능을 제공하기 위해 복잡한 구조를 가지고 있으며, 이런 특징은 자연스럽게 내부에 취약점을 가지게 된다. 시스템이 진화하면서 많은 취약점들이 보완됐지만, 해커들은 새로운 공격 루트를 계속 개발하고 있다. 시스템 해킹은 이러한 구조적⦁기능적 취약점을 이용해 정보를 추출하고, 의도하지 않은 기능을 유발하는 해킹 기술이다. 시스템 해킹을 이해하기 위해서는 먼저 컴퓨터 아키텍처와 운영체제에 대한 이해가 선행돼야 한다. Rootkit Rootkit은 루트권한 획득 기능, 시스템 제어를 위한 백도어 기능, 백신 프로그램에 발각되지 않기 위한 ..
4. 네트워크 해킹 기술 개요 TCP/IP는 본질적으로 해킹에 취약하다. 연결 설정 및 통신 과정에 많은 문제를 가지고 있다. 첫 번째, 클라이언트에서 서버로 최초 연결을 시도하는 SYN 패킷을 전송하면, 서버는 연결을 위해 버퍼 자원을 할당한다. 만일 계속 SYN 패킷만 전송하는 클라이언트가 있다면 서버는 통신 버퍼를 모두 소진해 네트워킹이 불가능하게 된다. 두 번째, 정상적인 통신 연결이 완료된 후에 해커는 클라이언트를 가장해서 통신 세션을 쉽게 가로챌 수 있다. 통신 상대방을 인증하기 위해 TCP 헤더에 있는 Sequence 번호를 확인하는데, 제3자가 이 번호를 쉽게 알아내서 위장할 수 있다. 세 번째로 IP 헤더에 있는 Source IP 정보는 쉽게 위조 가능하다는 것이다. Source IP를 클라이언트 PC가 아닌 공..
3. 웹 해킹 기술 개요 컴퓨터 시스템은 본질적으로 해킹에 취약하다. 컴퓨터가 처음 만들어졌을 때는 보안보다는 기능성에 초점을 두었다. 단일 시스템으로 몇십 년 동안 운영되다가 인터넷이 발달하면서 시스템은 다수의 사용자에게 노출되게 되었다. 이때부터 해커가 시스템을 인지하고 공격하기 시작한 것이다. 컴퓨터가 제공하는 다양한 기능은 사용자에게 편의성을 제공하는 반면에 해커에게는 공격을 위한 수단을 제공한다. 웹은 기본적으로 인터넷 브라우저, 웹 서버, 데이터베이스 이렇게 3개의 요소로 구성된다. 각 구성요소별로 역할이 명확히 분리되어 있다. 인터넷 브라우저는 사용자의 입력을 처리하고, 웹 서버로부터 받은 데이터를 가공해 화면을 구성한다. 웹 서버는 HTTP Request를 분석해 정해진 기능을 수행한다. 데이터 처리가 필요한..
2. 어플리케이션 해킹 기술 어플리케이션 해킹이란 PC와 서버에서 운영되고 있는 많은 어플리케이션들은 C언어를 기반으로 만들어진다. C 언어는 Kernel에서 제공하는 강력한 API를 직접 호출할 수 있다. 이러한 기능은 사용자에게 다양한 편의성을 제공하지만, 해커에게는 공격의 기술을 제공하기도 한다. PC에서 많이 운영되는 있는 보안 솔루션을 살펴보자. 키보드 입력과 화면 출력 사이에 전송되는 데이터를 암호화하는 키보드 보안 솔루션의 경우 Kernel에서 제공하는 메시지 후킹 기능을 사용한다. Kernel에서 키보드 입력이 감지되면 보안 솔루션은 메시지를 중간에 가로채서 암호화해 준다. 해킹에 사용되는 키로거도 동일한 원리를 이용한다. 키보드 보안 솔루션이 설치되지 않는 PC에 키로거가 설치되면 사용자가 입력한 아이디와 비밀번호를..
1. 해킹이란 위키 백과에 해킹이란 다음과 같이 정의되어 있다. 전자 회로나 컴퓨터의 하드웨어, 소프트웨어, 네트워크, 웹사이트 등 각종 정보 체계가 본래의 설계자나 관리자, 운영자가 의도하지 않은 동작을 일으키도록 하거나 체계 내에서 주어진 권한 이상으로 정보를 열람, 복제, 변경할 수 있게 하는 행위를 광범위하게 이르는 말 정의에 따르면 해킹은 특정한 기술을 지칭하는 용어가 아니라, 의도하지 않은 어떤 현상을 초래하는 행위를 말한다. 해킹은 크게 기술적인 방법과 사회공학적인 방법으로 나눌 수 있다. 몇 가지 예를 들어보자. 컴퓨터에서 정보를 빼낼 때 백도어를 심거나 네트워크 트래픽을 감시하는 방법도 있지만, 관리자의 뒤에서 몰래 훔쳐볼 수도 있다. 비밀번호도 여러 가지 방법으로 알아낼 수 있다. SQL Inject..
더 괜찮은 개발자가 되기 위한 프로젝트 더보기 그 동안 블로그에 연재했던 글들이 책으로 출판됐습니다.책 이름은 "더 괜찮은 개발자가 되기 위한 프로젝트 더보기" 입니다.부제는 "내 기술에 깊이를 더하는 프로젝트의 생성과 소멸"로 지었습니다. 몇 개월 동안 출판사 분들과의 협업을 통해 내용과 구성 그리고 디자인을 많이 개선했습니다.역시 전문가의 도움과 팀웍이 혼자 하는 것보다 훨씬 좋은 결과물을 만드는 것 같습니다. 최선의 노력을 기울였지만 아직 부족한 부분이 많이 있습니다.독자 여러분의 지적과 관심부탁드리겠습니다. 감사합니다. 문의사항: multicore7419@gmail.com
13. ML Agents 기본 예제 - Ball3D 스크립트 호출구조 분석 Ball3D 호출 구조 ML 에이전트의 이해를 돕기 위해 스크립트 호출 구조를 분석해 보자. 주요 스크립트는 ML 에이전트에 내장된 클래스에 모두 코딩되어 있다. Academy, Agent, Brain 클래스를 살펴보는 것이 좋다. Ball3DAcademy 클래스는 Academy 클래스를 상속받아 구현되는데 Academy를 선택하고 F12 버튼을 누르면 클래스를 스크립트 에디터에서 살펴볼 수 있다. 앞에서 언급했듯이 아카데미는 에이전트와 브레인을 제어하는 역할을 한다. 이 것을 Academy 클래스의 EnvironmentStep 함수 내부에서 Agent와 Brain 클래스에 선언된 함수를 차례대로 호출하면서 동작을 제어한다. (1) AgentSetStatus 함수는 Agent 클래스의 SetStatus ..