보안&네트워크/보안30 주기적인 백도어 검사 방법 실행권한이 있는 파일, 특수권한이 있는 파일 검사 해시 값 검사 2023. 3. 21. 대칭키의 개수 구하는 공식 대칭키 키의 개수 공식 : N(N-1)/2 시스템에 가입한 사용자 마다 하나의 키를 공유 해야함 예를들어 1~10번까지의 사용자가 있으면 각각 사용자가 9개의 서로의 키를 가져야함 총 90개가 필요 공개키 키의 개수 공식 : 2N ** N 명이랑 통신할 때 필요한 키의 개수 2023. 3. 18. SQL Injection 방어 (바인딩 쿼리) SQL Injection 방어 쿼리바인딩 과정 ( 파싱 과정을 1번만 거친다는 의미) 파싱 -> 바인드 -> 실행 -> 패치 (꺼내옴) 변수의 자리에 '?' 등을 사용, 바인딩 데이터는 SQL문법이 아닌 내부의 인터프리터나 컴파일 언어로 처리하기 때문에 문법적인 의미를 가질 수 없다. 따라서 바인딩 변수에 SQL공격 쿼리를 입력할지라도 의미있는 쿼리로 동작하지 않는 이유이다. Prepared Statement 사용시 쿼리 동작 방식 1. 파싱 (메모리에 올라감) select 나이 from user where id = ? (물음표라는 바인딩 변수 사용) 만약 Prepared Statement 사용 시 이 과정을 1번만 진행 함 그니까, 이미 메모리에 올라가서 인간이 이해 가능한 있는 공격 문자열을 Inje.. 2023. 3. 17. VDI (Virtual Desktop Infrastructure) VDI는 가상 머신을 이용하여 가상 데스크톱을 제공하고 관리 중앙집중식 서버에서 데스크톱 환경을 사용자에게 제공 말이 좀 어려울 수 있는데 천천히 알아보자 1. VDI 하이퍼바이저가 서버를 가상머신으로 세분화하고, 가상머신은 가상 데스크톱을 호스팅하며, 사용자는 각자의 로컬 기기를 통하여 원격 데스크톱에 액세스한다. 2. 언제 사용할까? 보통 기업은 망분리가 되어 있기에 로컬 PC로는 인터넷 사용이 불가하다. 근데 인터넷 사용을 하지 않고 어떻게 작업을 할 수 있겠는가? 이때 사용한다. 로컬 PC에서 가상 데스크톱으로 붙은 후 해당 가상 환경에서 인터넷을 사용하는 개념이다. 실 데이터들은 중앙 서버에 저장되기에 보안성 문제도 해결 가능하다. 중앙 집중식 관리가 편하다. (손쉽게 패치 가능) 3. VDI .. 2022. 2. 11. 세션 하이재킹 HTTP 세션 하이재킹 세션이 문자열이기 때문에 하이재킹이 가능. TCP 세션 하이재킹 시퀀스 번호를 변조하여 클라이언트 인 척 함. 연결 확립된 세션에 대해 RST를 보내 세션을 끊고 재연결을 통해 인증 동작원리 1. Client Server Established 상태 확인 후 시퀀스 넘버 스니핑 (서버 = Established) 2. 공격자는 세션이 안끊기는 Sequence Number 범위에서 RST 패킷을 생성 후 서버로 전송 (RST패킷으로 인해 서버=Closed로 됨) 3. 서버가 Closed 일 때 공격자는 SYN ( A_Client_My_Seq )를 생성하여 서버에 보냄. (서버=Closed) 4. 서버는 새로운 연결인 A_Client_My_Seq를 받고 (즉, 클라이언트가 다시 연결한 것.. 2022. 1. 24. Vitrual Address Space(VAS) 사전 개념 설명 1. 운영체제의 ‘커널(Kernel)‘ 이라는 엔진이 메모리 전체를 통제한다. 2. 어플리케이션(프로세스)는 메모리가 필요하다. 3. 커널이 응용프로그램(프로세스)한테 메모리를 할당 해줌. 4. 부족하면 응용프로그램은 요청함. 5. 그러다가 메모리가 충돌이 나는 현상이 발생함(같은 주소를 할당해줌) 6. 그래서 VAS 개념이 나옴 Vitrual Address Space(VAS) 왜, 가상 공간을 만들어 주냐면 우물 안 개구리를 만드는거임. 즉, 프로세스가 인지할 때 이 세상(메모리 상)에 나 밖에 없음. 나 밖에 없으니까 다른 프로세스와 충돌을 할 수가 없음 만약 RAM이 4GB = Ox00000000부터 OxFFFFFFFF 까지 (32비트) 여기서 2GB 커널이 쓰고 2GB는 응용프로그.. 2022. 1. 17. 리버싱 할 때 Debug와 Release 리버싱 할 때 Debug와 Release 1. Debug는 무겁다. Immunity Debugger로 분석할때 함수 이름이 안 나오고 숫자로 나옴. (보기 어려움) 2. Release는 가볍다. 그리고 Immunity Debugger로 분석할때 함수 이름이 그대로 나옴. 어셈블리 코드도 좀 더 적고 실행에 최소한의 코드만 적용되는 듯 싶다. 2022. 1. 17. DNS 공격과 방어 DNSSEC - DNS 암호화 / 전자서명 / 대칭키&공개키, “파밍공격”에 대한 대응임. https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/dns/dnssecInfo/dnssecInfo.jsp https://idchowto.com/?p=38619 DNS 증폭 공격 (DDoS) - 무수히 많은 Open Resolver를 이용하여 DNS 쿼리 타입을 ANY로 하게 되면 A, AAAA, CNAME, NS 등의 모든 레코드를 요청하기 때문에 쿼리 패킷이 약간 증폭 DNS 싱크홀 - 봇에 감염된 PC를 ISP서버에서 KISA DNS 싱크홀 서버로 연결되도록 유도하여 우회 DNS 공격 (DDoS) 대응 방안 1. 대역폭 공격 --> Swit.. 2022. 1. 12. DDoS 공격 DDoS 공격 도구 Trinoo TFN Stacheldraht 암호기능 UDP Flood UDP, ICMP, SYN Flood, Smurf UDP, ICMP, SYN Flood, Smurf 통제 주체 없음 없음 가능 Attack master 27665/TCP Telnet등 방법 (별도의 연결 없음) 1660/tcp (암호화) Master Agent 27444/UDP ICMP echo Reply ICMP Echo Reply 65000/tcp Agent Master 31335/UDP ICMP Echo Reply ICMP Echo REply Mirai 악성코드 사물인터넷(IoT)에 기생하여 DDoS 공격과 같은 것을 수행 리눅스 기반으로 제작된 소스코드는 크로스 컴파일을 통해 다양한 CPU 환경에서 동작하도록.. 2022. 1. 12. 무선랜 보안 기술 무선랜 보안 기술 WEP (Wired Equivalent Privacy) 구분 WEP (Wired Equivalent Privacy) WPA (Wi-Fi Protected Access) – PSK (PreSharedKey) WPA 2 (Wi-Fi Protected Access) – PSK (PreSharedKey) 표준 IEEE 802.11b에서 표준화함. IEEE 802.11i IEEE 802.11i 인증 사전 공유 비밀키(64, 128bit) (즉, 내 단말의 사전 공유 비밀키는 AP에 직접 입력해야함) 40 bit or 104bit (항상 고정) 24 bit = 초기화 벡터 40 bit = RC4 키 길이 64비트 길이의 공유키 (concat) 사전 공유 비밀키 or 별도의 인증서버 이용 임시키 사.. 2022. 1. 12. 무선랜 보안 프로토콜 무선랜 보안 프로토콜 0. WAP ( Wireless Application Protocol ) (응용 – 세션 – 거래 – 보안 – 전송) : 무선환경 프로토콜, 주 언어는 WML ( Wireless Markup Language ) : 제한된 능력을 갖는 이동 단말기에 적합 : CDMA 초창기에 PDA 등에서 사용한 것으로 BREW, J2ME, WIPI에서 사용한 것 WAP 동작원리 1. 클라이언트는 WML로 할당된 무선장비를 이용 2 . WAP 프로토콜을 이용해 WML 요청을 WAP게이트웨이로 보냄 3. WAP게이트웨이는 WML요청을 HTTP로 변환하여 서버로 전송 4. 서버는 HTTP요청에 대한 응답을 WAP게이트웨이로 보냄 5. WAP게이트웨이는 클라이언트로 전송 : *** WAP2 --> WML .. 2022. 1. 12. 힙 (heap) 관련 공격 힙 스프레이 자바 스크립트등을 이용하여 Heap 영역에 스프레이 뿌리듯이 NOP와 Shellcode를 삽입하는 공격 힙 오버플로우 힙 스프레이와 힙 오버플로우의 차이 힙 오버플로우는 공격자가 직접 공격 코드를 익스플로잇 하고, 힙 스프레이는 공격코드를 어딘가에 올려놓은 다음 접근하도록 유도함. 힙 오버플로우는 말 그대로 오버플로우를 시켜 EIP를 변조, 힙 스프레이는 오버플로우 시키는 것이 아니라 free된 영역에 NOP와 SHELL CODE를 올린 후 EIP 변조. 힙 UAF ( Use After Free ) Free로 해제된 객체, 포인터를 사용할 경우 발생하는 버그 즉 free로 해제된 메모리 영역을 재 사용할 경우 발생하는 취약점. 더블 Free Bug Free가 2번 발생할 때 생기는 버그이다... 2022. 1. 12. Null Session 취약점 Null Session 취약점 $IPC ( 공유폴더)에 접속할 때 원격에서 PW를 NULL로 설정하여 접속하는 공격 대응방법 1. 보안옵션 - “익명접속 제한” / “SAM 계정 열거 허락X” 2. 로컬정책 - “권한이 없는 접속 허락 X” 3. 레지스트리 설정 http://egloos.zum.com/micingamja/v/3425948 2022. 1. 12. Heart Bleed 공격(하트블리드) Heart Bleed 공격(하트블리드) - OpenSSL 취약점, OpenSSL 암호화 라이브러리에서 HeartBeat라는 확장 모듈에서 발생 - 웹 브라우저가 Request시 데이터 길이를 검증하지 않아 메모리(Memory)에 저장되어 있는 평문의 64Kilo Byte가 노출되는 현상 Heartbeat - 해당 서버가 살아있음을 확인하고 연결을 재협상하지 않아도 되는 확장 규격. - 예를들어 [메시지:hello], [데이터 사이즈:25]를 보내면 서버측에서도 똑같은 메시지를 보내서 서버가 살아있음을 알린다. 근데 여기서 [데이터 사이즈]의 크기를 검증하지 않아 사이즈의 크기가 크게 잡혀있을 경우 메모리에 있는 덤프값이 64kb가 같이 보내진다. --> 즉 위에 예시에서는 hello 문자열 5바이트 + .. 2022. 1. 12. 공개키 암호화 공개키 암호화 종류 구분 특징 수학적배경 장점 단점 디피 헬만 - 최초의 알고리즘 - 키 분배전용 (사실 키 분배가 아니라 각자 계산하여 같은 값을 사용하는 것) - 공개키와 개인키로 대칭키를 만듦 이산대수 문제 - 키분배에 최적화 - 키는 필요시에만 생성 (키 저장 불필요) - 비밀키가 노출되더라도 세션키의 안전성에는 영향을 미치면안됌. - 암호모드 불가(인증불가) - 위조에 취약 (신분위장) RSA - 대표적인 공개키 알고리즘 소인수분해 문제 - 여러 Library 존재 -신분 위장공격방어 컴퓨터 속도의 발전으로 키 길이 증가 DSA - 전자서명 알고리즘 표준 이산대수 문제 - 간단한 구조 yes, no의 결과만 가짐) - 전자서명에 사용 - 암호화, 키교환 불가 ECC - 짧은 키로 높은 암호 강도.. 2022. 1. 12. 이전 1 2 다음 반응형