본문 바로가기

분류 전체보기

(90)
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..
사무직 노동자의 종말, RPA와 AI의 만남 RPA(Robotic Process Automation)는 사람이 컴퓨터로 하는 작업을 자동화하는 소프트웨어를 말한다. 사람이 컴퓨터로 하는 작업을 일정한 규칙(Rule Set)으로 만들어 순서대로 실행하는 프로그램으로 만든 것을 RPA라고 한다. 다음 영상을 보면 RPA를 좀 더 쉽게 이해할 수 있다. 예를들어 부동산 웹사이트에 들어가서 지난 주 서울 전세 매매 데이터를 조회하고 엑셀로 다운로드 받아 이메일로 전송하는 일을 생각해보자. RPA에서는 각각의 일들을 규칙으로 정하고 프로그램은 규칙대로 하나씩 정해진 일을 진행한다. 웹사이트에 접속(Chrome)하고, 전세 매매 데이터 조회 화면으로 들어가서(HTML을 파싱하고 정해진 태그를 클릭) 조건으로 서울(지역), 지난주(기간)를 입력한 후 조회 버튼..
9. 카트폴 DQN 모델 실행 초기화 및 변수 선언 DQN 모델을 실행하기 위해 초기화 및 변수 선언 과정은 DQN 모델의 학습하는 과정과 동일하나 학습과 하이퍼파라미터 설정이 필요 없기 때문에 모델 실행에 필수적인 요소만 가져오면 된다. 네트워크 구성 DQN 모델을 실행하기 위해서는 학습 과정에서 생성한 네트워크를 동일하게 구성해야 한다. 여기서 주의할 점은 노드 개수가 학습 모델과 같은 수로 설정해야 한다. 학습 과정에서 노드 개수는 계속 변경이 되기 때문에 모델 실행할 때 학습할 때 주의하지 않으면 의도치 않은 오류가 발생하기 때문이다. 텐서플로우 모델 학습은 네트워크를 구성할 때 사용한 변수(가중치와 편향) 값을 찾아내는 과정이다. 학습이 완료되면 이 변수는 파일 형태로 저장된다. 모델을 실행하기 위해서는 파일로 저장된 변수를..