반응형 Information Technology56 PUP(Potentially Unwanted Program) - Superfish란? 목차 PUP(Potentially Unwanted Program) PUP(Potentially Unwanted Program)는 사용자에게 직간접적으로 동의를 구하지만 용도를 파악하기 어려운 상태에서 설치되는 프로그램을 말하는데 불법 크랙 사이트 등에 접속할 때 설치되거나 악성 코드에 의해 설치되는데 최근에는 특정 프로그램을 설치할 때 함께 설치되는 경우가 더 많다. 사용자에게 치명적인 악영향을 주는 것은 아니지만 귀찮을 정도로 광고를 지속적으로 송출하거나, 웹 브라우저의 시작 페이지를 특정 페이지로 강제로 변경하고 사용을 원치 않은 백신을 강제로 사용하게 하기도 한다. 설치 시 사용자의 동의를 구하는 형식을 취하기는 하나 취소 단추를 눌러도 실행은 계속되어 스파이웨어, 애드웨어, 다이얼러 등 때로는 사.. Information Technology 2021. 11. 29. 트로이목마 악성코드 개념 및 악용 목적과 종류 정리 목차 트로이 목마 악성코드의 개념 트로이 목마(Trojan horse)는 악성 루틴이 숨어 있는 프로그램이다. 겉보기에는 정상적인 것 같지만 사용자가 실행하면 악성 코드가 실행된다. 사회공학 기법 형태로 많이 확산되며 어떤 악성 코드도 포함될 수 있어서 시스템 파괴, 스파이웨어나 랜섬웨어로의 동작 등 어떤 형태든 가능하지만 주로 백도어로 사용된다. 다른 파일에 삽입되거나 스스로 전파되지는 않지만 트로이 목마와 혼용되는 백도어(Backdoor)는 악성 코드를 지칭하는 말로 사용되는 경우가 많지만, 원래 의미는 운영체제나 프로그램을 생성할 때 정상적인 인증 과정을 거치지 않아도 접근할 수 있게 만든 일종의 통로이다. 프로그램 개발 후 완전히 삭제되어야 하지만 그대로 남아 있는 경우도 허다하다. 트로이 목마(.. Information Technology 2021. 11. 29. 컴퓨터 악성코드 웜에 대해서 목차 컴퓨터 악성코드 웜의 개념 컴퓨터 웜은 인터넷 또는 네트워크를 통해 전파되며 스스로를 복제하는 악성 소프트웨어 컴퓨터 프로그램이다. 컴퓨터 바이러스와 비슷하다. 바이러스가 다른 실행 프로그램에 기생하여 실행되는 데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않다. 웜은 종종 컴퓨터의 파일 전송 기능을 착취하도록 설계된다. 웜은 스스로를 증식하는 것이 목적이므로 파일 자체에 이런 기능이 존재하거나 운영체제에 자신을 감염시키곤 한다. 악성코드 웜의 분류 매스메일러형(MASS Mailer형) 웜 제목 없는 메일이나 특정 제목의 메일에 웜 자기 자신을 포함하여 대량 메일을 발송하여 확산시킨다. 전송 후에 사용자가 메일을 읽었을 때 감염된다. 매스메일러형(MASS MAiler형) 웜의 주요.. Information Technology 2021. 11. 24. 바이러스의 개념과 세대 별 바이러스의 이해 목차 바이러스의 개념 가장 기본적인 형태의 악성 코드로 사용자 컴퓨터 (네트워크로 공유된 컴퓨터 포함)에서 프로그램이나 실행 가능한 부분을 사용자가 인지하는 순간에 수정하여 자신 또는 자신의 변형을 복사하는 것을 말한다. 원시형 바이러스 처음 컴퓨터 바이러스가 등장한 시점의 가장 원시적인 형태로, 단순하게 자기 복제 기능과 데이터를 파괴하는 기능만 보유하고 있다. 1세대 원시형 바이러스 부트 바이러스 플로피디스크나 하드디스크의 부트 섹터에 감염되는 바이러스, MBR과 함께 PC 메모리에 저장되어 부팅 시 자동으로 동작하여 부팅 후에 사용되는 모든 프로그램을 감염시킨다. 부트 바이러스를 이해하기 위해선 컴퓨터의 부팅 순서 대해 이해하고 있어야 한다. 1단계 : POST 운영체제를 설치할 때 하드웨어 자체가.. Information Technology 2021. 11. 23. 악성코드 개념과 동작 및 목적에 의한 분류 정리 목차 악성코드와 바이러스의 개념 악성 코드의 개념 제작자가 의도적으로 사용자에게 피해를 주기 위해 만든 모든 악의적 목적을 가진 프로그램 및 매크로, 즉 스크립트로 컴퓨터에서 작동하는 실행 가능한 모든 형태를 말한다. 바이러스의 개념 컴퓨터 바이러스란 자기 자신을 복제하여 대상 프로그램에 포함해서 해당 프로그램을 감염시키는 프로그램을 말하며, 전파 기능은 없다. 악성코드 분류 동작에 의한 분류 악성 코드 설명 바이러스 사용자의 컴퓨터(네트워크로 공유된 컴퓨터 포함) 내에서 프로그램이나 실행 가능한 부분을 몰래 변형하여 자신 또는 자신의 변형을 복사하는 프로그램이다. 가장 큰 특성은 복제와 감염이며, 다른 네트워크의 컴퓨터로 스스로 전파되지는 않는다. 웜 인터넷 또는 네트워크를 통해 컴퓨터에서 컴퓨터로 전.. Information Technology 2021. 11. 22. MHS 툴을 이용한 메모리 모의해킹 실습 및 개념과 원리 목차 메모리 해킹의 개념 프로그램의 동작에 관여하지 않고, 프로그램이 실행되는 데 필요한 정보를 저장해둔 메모리를 조작하는 공격이며, 게임 머니나 아이템 조작과 같이 게임 해킹에 광범위하게 사용됨, 백도어와 같은 프로그램을 설치하여 메모리에 있는 패스워드를 빼내거나 데이터를 조작하여 돈을 받는 계좌와 금액을 변경하는데 사용되곤 한다. 메모리 해킹은 사용자가 인지하지 못하는 경우가 많고 휘발성이 강한 메모리의 특성상 흔적을 추적하기 어렵다. 또한 메모리 해킹을 막으려면 메모리 주소에 저장되는 값을 암호화해야 한다. 메모리 해킹의 원리 지뢰 찾기 게임을 통해 메모리 해킹 실습 메모리 해킹을 하기 위해 MHS(memory hacking software)를 이용 MHS: http://memoryhacking.c.. Information Technology 2021. 11. 22. 버퍼 오버플로우 공격(Buffer Overflow Attack) 원리와 개념 목차 버퍼 오버플로우 공격(Buffer Overflow Attack)의 개념기본적인 버퍼 오버플로우 공격은 데이터의 길이에 대한 불명확한 정의를 악용한 덮어쓰기로 발생한다.경계선 관리가 적절하게 수행되어 덮어쓸 수 없는 부분에 해커가 임의의 코드를 덮어쓰는 것을 의미한다.(복귀 주소 변경 -> 임의 코드 실행)버퍼 오버플로우에 취약한 함수와 그렇지 않은 함수가 있는데, 프로그래머가 취약한 특정 함수를 사용하지 않는다면 공격이 훨씬 어려워진다. 버퍼 오버플로우 발생 원인버퍼 오버플로우 발생 원인에 대해서 이해하기 위해서는 먼저 프로그램이 데이터를 어떻게 저장하고, 함수가 어떻게 호출되는지를 이해해야 한다. 하나의 프로그램은 수 많은 함수로 구성되어있는데 프로그램을 실행하여 함수가 호출될 떄, 지역 변수와 .. Information Technology 2021. 11. 22. 시스템 메모리 구조 코드/데이터/스택/힙 영역 정리 목차 시스템 메모리의 구조 프로그램을 동작시키면 프로그램이 동작하기 위한 메모리 공간에 생성되는데 이 메모리 공간은 대표적으로 코드 영역, 데이터 영역, 스택 영역, 힙 영역으로스택 영역과 힙 영역이 있다. 코드(Code) 영역 프로세스가 실행할 코드와 매크로 상수가 기계어의 형태로 실행할 프로그램의 코드가 저장된 공간이다. 컴파일 타임에 결정되고 중간에 코드를 바꿀 수 없게 Read-Only로 지정 돼 있고 텍스트(code) 영역이라고도 부른다. 데이터(Data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역이며 전역변수/static 값을 참조한 코드는 컴파일 하고 나면 Data 영역의 주소값을 가르키도록 바뀐다. 실행 중도에 전역변수가 변경 될.. Information Technology 2021. 11. 10. 웹 주요 취약점 OWASP Top 10 알아보기 목차 Open Web Application Security Project : OWASP란? 국제 웹 보안 표준기구 OWASP는 오픈소스 웹 애플리케이션 보안 프로젝트이다. 주로 웹에 관한 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취약점을 발표했다. 웹의 주요 취약점 Injection : 인젝션 / 명령어 삽입 취약점 클라이언트의 요청을 처리하기 위해 전달받은 인수에 특정 명령을 실행하는 코드를 포함시켜 공격하는 방법이다. 이런 Injection 공격은 SQL, OS, LDAP 등 웹을 통해 명령을 전달하는 어떠한 경우에도 적용될 수 있다. 전송받는 인수에 포함된, 특정 명령을 실행하는 코드를 적절히 필터링하지 못하면 삽입 공격에 대한 취약점이 발생하고 명.. Information Technology 2021. 11. 1. 리눅스 핵심 명령어 PS 알아보기 목차 리눅스 PS 명령어란? ps는 process status의 줄인말이며, 현재 실행중인 프로세스 목록과 상태를 출력하여 보여주는 기능을 한다. 윈도우의 작업 관리자와 비슷하다고 생각하면 된다. PS 명령어 사용법 ps의 옵션은 전통적인 유닉스인 System V, BSD, GNU에 따라 결과가 다르게 나타나고 표기법에도 차이를 보인다. 옵션 사용 시 System V 계열은 대시(dash, -)를 사용하고 BSD 계열은 대시(-)를 사용하지 않고 GNU에서의 옵션 표기는 두 개의 대시(--)를 사용하기도 한다. 원하는 프로세스의 상태를 출력하기 위해서 정확한 옵션 값을 사용하여야 한다. ps 옵션 사용법 $ps [option] ps 도움말 $ps --help all 자주 사용되는 ps 명령어 옵션 사용 .. Information Technology 2021. 10. 25. WAP: Wireless Application Protocol 구조와 무선 인터넷 프로토콜 종류 목차 WAP ( Wireless Application Protocol ) 구조 WAE ( Wireless Application Environment ) 무선 애플리케이션 환경 - 응용프로그램 계층 WSP ( Wireless Session Protocol ) 무선 세션 프로토콜 - 세션 계층 WTP ( Wireless Transaction Protocol ) 무선 트랜잭션 프로토콜 - 거래 계층 WTLS ( Wireless Transport Layer Security ) 무선 전송 계층 보안 - 보안 계층 WDP ( Wireless Datagram Protocol ) 무선 데이터 그램 프로토콜 - 전송 계층 계층별 역할 WDP : 포트번호( 출발지와 도착지 ) 저장으로로 데이터 전송을 할 수 있게 한다. .. Information Technology 2021. 10. 20. 무선랜 통신의 암호화 종류 및 방식 정리(WEP, WPA, EAP, 802.1x) 목차 무선랜 통신의 암호화 종류 WEP(Wired Equivalent Privacy) 무선 랜 통신을 암호화하기 위해 802.11b 프로토콜부터 적용되기 시작됐다. 64bit, 128bit 암호화 방식을 사용하는데 기본적으로 RC4 알고리즘을 사용하며, 암호화 키는 64bit는 40bit, 128bit는 104bit의 RC4 키와 함께 무작위로 산출된 24bit의 초기화 벡터가 사용된다. 동작 방식 클라이언트에서 AP 인증을 요청하면, AP는 무작위로 초기화 벡터를 생성하고, 클라이언트는 WEP 키로 암호화하여 AP로 전송한다. AP는 전달받은 암호문을 WEP 키로 복호화하여 본인이 최초 전송한 초기화 벡터(initialization vector, IV, starting variable, SV)와 일치하.. Information Technology 2021. 10. 19. 이전 1 2 3 4 5 다음 반응형