목록Hacking & Security (134)
선릉역 1번 출구
접근통제(접근제어, access control) 비인가된 사용자의 정보자원 사용 방지 인가된 사용자가 비인가된 방식으로 정보 자산을 접근하는 행위 방지 인가된 사용자가 인가된 방식으로 정보 자산을 잘못 접근하여 정보 자산을 훼손하는 행위 방지 주체가 객체에 접근할 때 보안상의 위협, 변조 등과 같은 위험으로부터 객체와 제반 환경을 보호하기 위한 보안대책 주체: 외부에서 접근하는 사람, 객체: 시스템과 같은 접근 대상 주체(subject) 객체나 객체 내의 데이터에 대한 접근을 요청하는 능동적인 개체 객체(object) 접근대상이 될 수동적인 개체 또는 행위가 일어날 아이템 접근(access) 주체와 객체 사이의 정보 흐름 접근통제 절차 단계 설명 접근 매체 식별 본인이 누구라는 것을 시스템에 밝히는 것 ..

악성 소프트웨어 - 개발자가 의도적으로 사용자가 원하지 않는 기능을 프로그램에 포함시킴 - 프로그램 자체의 오류로 인해 사용자가 원하지 않는 시스템 충돌, 프로그램 중단, 개인 정보 수집, 네트워크 포트 개방의 결과 발생 - 기밀성, 가용성, 무결성 등의 보안속성 침해 -> 해당 프로그램은 유해한 프로그램으로 간주됨 - 의도적으로 컴퓨터의 보안속성을 침해할 목적으로 작성된 프로그램은 악성 프로그램 구분 컴퓨터 바이러스 트로이 목마 웜 자기 복제 있음 없음 매우 강함 형태 파일이나 부트섹터 등 감염 대상 필요 유틸리티로 위장하거나 유틸리티 안에 코드 형태로 삽입 독자적으로 존재 전파 경로 사용자가 감염된 파일을 옮김 사용자가 내려 받음 네트워크를 통해 스스로 전파 주요 증상 해당 컴퓨터의 시스템 및 파일 ..

보안 운영체제: 컴퓨터 운영체제상에서 내재된 보안상의 결함으로 인해 발생 가능한 각종 해킹으로부터 시스템을 보호하기 위해 기존의 운영체제 내에 보안기능을 통합시킨 보안 커널을 추가로 이식한 OS -> OS 내부에 보안기능을 구현한 것으로 기존의 응용 프로그램 실행환경을 그대로 유지하면서 시스템 차원의 강력한 보안기능 제공 기술적 핵심 정보영역의 분리 정보를 특정 기준에 따라 여러 구획으로 나눠, 주체가 자신과 무관한 객체에 접근하는 행위를 차단 역할기반 영역분리 최소권한 유지 커널 레벨의 강제적 접근통제 보호 대상 메모리 보조기억장치 상의 파일 또는 데이터의 집합 메모리상에서 실행 중인 프로그램 파일들의 디렉터리 하드웨어 장치 보호 방법 물리적 분리 사용자별로 별도의 장비만 사용하도록 제한 시간적 분리 ..

1. pwndbg 다운받기 git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh 2. 다운로드 확인 3. 코드 작성 후 컴파일 sudo gedit debugee.c or sudo vi debugee.c #include int main(void) { int sum = 0; int val1 = 1; int val2 = 2; sum = val1 + val2; printf("1 + 2 = %d\\n", sum); return 0; } gcc를 사용해 작성한 debugee.c 파일을 컴파일 gcc -o debugee debugee.c -no-pie = debugee.c를 o 옵션을 사용해 debugee로 저장 4. gdb를 사용해 디버깅 5. 리눅스의 ..
컴퓨터 구조 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고 구성하는 방법 컴퓨터 구조 설계 폰노이만 구조 연산, 제어, 저장의 3가지 핵심 기능 연산, 제어 - CPU 저장 - Memory 신호 교환 - bus 데이터 버스: 데이터 이동 주소 버스: 주소 지정 제어 버스: 읽기/쓰기 제어 하버드 구조 CPU: 컴퓨터 작동에 핵심이 되는 연산 처리 - 명령어 관련된 설계(ISA-instruction set architecture) x86 ARM MIPS 다양한 ISA가 존재하는 것은 모든 컴퓨터가 동일한 수준의 연산 능력을 요구하지 않고 컴퓨팅 환경이 다양하기 때문 - x86-64 아키텍처 x64 아키텍처는 인텔의 64비트 CPU 아키텍처임 64bit -> WORD: CPU..

환경 설정 http://old-releases.ubuntu.com/releases/18.04.1/ubuntu-18.04.1-desktop-amd64.iso 해당 페이지에서 Ubuntu-18.04.iso 파일 다운 후 VMware에 설치하기 컴퓨터 = CPU + 메모리(RAM) + 보조메모리(SSD) CPU: 실행할 명령어와 명령어 처리에 필요한 데이터를 메모리에서 읽고, ISA(instruction set architecture)에 따라 처리하고 연산의 결과를 다시 메모리에 적재 -> 결론: CPU의 동작과 메모리 사이에 밀접한 연관이 있음 if) 공격자가 메모리를 악의적으로 조작할 수 있다면? 조작된 메모리 값에 의해 CPU도 잘못된 동작이 가능함 -> 메모리를 오염시키는 취약점을 메모리 오염(Memo..