반응형

공부해요 97

SW 보안 개요 퀴즈

1. 정보보안의 원칙 세가지를 서술하시오.더보기기밀성, 무결성, 가용성 2. 다음 중 옳지 않은 것을 고르시오.① 결함은 설계나 구현단계에서 발생한다.② 사이버 보안에서는 위험이 얼마정도인지 정량화하기 어렵다.③ 소프트웨어를 정확성 관점에서 보면 공격자로부터 시스템 보호에 초점을 맞추어 정확한 프로그램을 만들어야한다.④ 소프트웨어 개발 시에는 모든 단계에서 보안을 고려하여 개발하는 것이 바람직하다.더보기③ 정확성 관점에서는 보안성보다는 일반 사용자의 경험을 개선하는 것에 초점을 맞추게 된다. 3. 개발 프로세스의 일반적인 4단계를 순서대로 서술하시오.더보기요구사항(requirements)설계(design)구현(implementation)시험/보증(testing/assurance)

SW 보안 개요

컴퓨터 보안의 목표는 시스템, 네트워크 및 데이터를 무단 액세스하는 공격 및 손상으로부터 보호하는 것이다.대부분 개발자나 운영자는 소프트웨어가 원하는 대로 동작하는 정확성에 집중하며 보안성 측면으로는 원하지 않는 동작을 하는 것을 방지하는데에 집중한다. 소프트웨어보안의 중요성- 현실에는 SW 취약점이 항상 존재하여 원하지 않는 동작을 하여 피해를 입히게 됨- 안전한 소프트웨어는 공격자가 악용하기 어렵고, 공격에 성공하더라고 피해를 제한하거나 취약점을 패치하거나 공격 피해를 빠르게 복구할 수 있음  보안의 중요성을 보여주는 사건1. 2016년 군 내부망 해킹사건https://www.yna.co.kr/view/AKR20161206117951014 軍 내부 사이버망 어떻게 뚫렸나…혼용서버 존재 2년간 '깜깜'..

54. 디버깅 실습1 - 서비스

서비스 프로세스란?Windows에서 "서비스 프로그램" 은 일반 프로세스와 다른 특성을 가지는 특별한 백그라운드 프로세스 를 의미한다. 서비스 프로세스 동작 원리서비스 프로그램은 SCM(Service Control Manager) 에 의해 관리서비스 애플리케이션이 실행되기 위해서는 이를 제어할 수 있는 서비스 컨트롤러(Service Controller) 가 필요서비스 컨트롤러는 SCM에 서비스 제어 요청을 전달하면, SCM은 해당 요청을 서비스 프로그램에 전달하고 실행 결과를 돌려받는 구조SCM은 시스템 내에서 서비스의 시작, 중지, 일시 정지, 재시작 등의 명령을 처리하는 역할 SCM(Service Control Manager)이란?SCM(Service Control Manager)은 Windows 운..

53. 고급 안티 디버깅

고급 안티 디버깅 기법1. 고급 안티 디버깅 기법의 특징기술적 난이도가 높고, 분석자를 심리적·육체적으로 지치게 만듦가비지 코드, 조건 분기, 루프, 암호화/복호화, 깊은 Call-Tree 등을 활용하여 분석을 방해분석자가 엉뚱한 코드에서 헤매게 만들고, 원하는 코드에 접근하기 어렵게 함Dynamic 안티 디버깅 기법을 혼합하여 더욱 효과적으로 방어2. 특징디버깅이 불가능한 것은 아니지만, 매우 높은 난이도를 요구함숙련된 리버싱 전문가도 분석하는 데 오랜 시간과 많은 노력이 필요완벽한 분석은 극도로 어려운 작업 가비지 코드의미없는 코드를 대량으로 추가시켜 디버깅을 힘들게 하는 기법예를들어서 push/pop 이런 몇개 명령어에 동일한 operand를 넣어서 의미없는 연산을 하도록 하는거  Breaking ..

52. Dynamic 안티 디버깅

Dynamic 안티 디버깅의 목적: 내부 코드와 데이터를 리버싱으로부터 감추고 보호하는 것, 원본 프로그램의 핵심 알고리즘 보호하기 위해 사용 예외정상적으로 실행된 프로세스에서 예외 발생 시: SEH메커니즘에 의해 OS에서 예외를 받아 프로세스에 등록된 SEH를 호출디버기에서 예외 발생시: 디버거에서 예외처리 담당둘이 다르게 동작해서 안티 디버깅이 가능하다  SEH대표적인 예외EXCEPTION_DATATYPE_MISALIGNMENT (0x80000002)EXCEPTION_BREAKPOINT (0x80000003)EXCEPTION_SINGLE_STEP (0x80000004)EXCEPTION_ACCESS_VIOLATION ..

51. Static 안티 디버깅

Static 안티 디버깅의 목적Static 안티 디버깅은 디버깅 과정에서 자신이 디버깅 당하는지 여부를 확인하고, 디버깅 중이라고 판단되면 일반 실행과 다른 동작(주로 종료)을 수행하는 기술 구현방법디버거 탐지: 디버거의 존재 여부를 확인.디버깅 환경 탐지: 디버깅 환경의 흔적을 탐지.디버거 강제 분리: 디버거와의 연결을 강제로 해제.  PEB현재 프로세스의 디버깅 여부 판단 위해 PEB를 사용한다. (process environment block)안티 디버깅 시에 사용되는 멤버는 아래와 같다.+0x002 BeingDebugged : UChar+0x00c Ldr : Ptr32 _PEB_LDR_DATA+0x018 ProcessHeap : Ptr32 Void+0x068 ..

50. 안티 디버깅

안티 디버깅을 공부해야 하는 이유1. 각종 안티 디버깅 기법들의 동작 원리를 파악한 후 회피하기 위해서2. 안티 디버깅 기법을 공부하는 과정에서 저절로 고급 리버싱을 배울 수 있음 안티 디버깅 기법이란?고급리버싱 과정디버거와 OS에 강한 의존성이 有 (특정 운영체제에만 동작 or  디버거 종류에 따라 안티 디버깅 기법 상이) 안티 안티 디버깅 기법안티 디버깅을 상대하는 방법 안티 디버깅 분류Static이랑 Dynamic으로 분류Static은 디버깅 시작 시 한 번만 해체해주면 해결되지만 dynamic 기법은 디버깅 진행하면서 안티 디버깅을 만날 때마다 해결해야하므로 난이도가 高 StaticDynamic난이도Low, MediumHigh구현 원리다양한 시스템 정보 활용디버거의 동작 원리 역이용목적디버거 탐지..

49. IA-32 Instruction

IA-32 InstructionInstruction이란 CPU가 알아들을 수 있는 기계어 이다. 명령어 라는거..IA-32 Instruction는 IA-32 계열의 CPU에서 사용되는 명령어를 말하는 것임여기에서 두번째 칸에 보이는 E8 CC27000이나 55이런거가 모두 IA-32 Instruction이다 프로그래밍 언어로 작성된 코드는 컴퓨터가 알아들을 수 있게 compile/Link과정을 거쳐서 위에 형식으로 변환해야된다.  용어정리용어설명Macine Language기계어, CPU가 해석할 수 있는 Binary코드Instruction하나의 기계 명령어 단위OpCodeOperation Code, Instruction 내의 실제 명령어Assembly어셈블리 프로그래밍 언어Assemble어셈블리 코드를 ..

48. SEH

SEH란?Windows 운영체제에서 제공하는 예외 처리 시스템소스코드에서 __try, __except, __finally 키워드로 구현 가능 SEH 예제 실습 #1https://github.com/reversecore/book/blob/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/06_%EA%B3%A0%EA%B8%89_%EB%A6%AC%EB%B2%84%EC%8B%B1/48_SEH/bin/seh.exe book/실습예제/06_고급_리버싱/48_SEH/bin/seh.exe at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to reversecore/book development by creating an ac..

47. PEB

PEB란?프로세스의 정보를 담고 있는 구조체방대한 크기문서화 된 내용 PEB 접근 방법앞에 TEB설명가지고 생각해보면 FS:[30] = TEB.ProcessEnvironmentBlock = address of PEB 이런 공식을 구할 수 있다. 이 공식을 어셈블리 코드로 만들어보면방법1. 바로 PEB 주소 구하는 방법MOV EAX, DWORD PTR FS:[30]            ; FS[30] = address of PEB 방법2. TEB 주소 구하고 ProcessEnvironmentBlock멤버를 이용하는 방법MOV EAX, DWORD PTR FS:[18]             ; FS[18] = address of TEB MOV EAX, DWORD PTR DS:[EAX+30]           ..

반응형