1. 블록체인 P2P 네트워크 분산 환경에서 peer들이 금융 거래 정보를 공동으로 관리하는 방식 1-1. 기술적 특성 탈중앙화: 원장을 제3자가 관리하는 것이 아닌 참여자들이 직접 관리함 투명성: 거래 기록을 참여자 모두가 감시함 불변성: 블록의 수정이나 삭제가 어려움 가용성: 한 노드가 잘못 되어도 계속 동작 가능 1-2. 기반 기술 분산 네트워크 채굴 정보가 각 노드에게 Broadcast되고, 51% 이상이 합의하여 블록을 승인함 암호기술 공개키 암호 ECDSA 전자서명 알고리즘 활용 익명성: 익명의 공개키를 계좌 정보로 활용함 전자서명: 거래 정보의 무결성 보장 해시함수 블록의 무결성을 증명하고 새로운 블록의 Nonce 값을 찾기 위해 SHA-2 활용 채굴: 해시함수에 이전 블록 정보를 넣어 만족..
1. 버퍼 오버플로우 공격 1-1. 개요 프로세스 메모리 구조 Text: 프로그램 코드와 상수 (read-only) Data: 전역 변수와 정적 변수 Heap: 동적 메모리 호출에 의해 할당 Stack: 지역 변수, 매개 변수, 함수 반환 주소 스택 프레임 스택 영역에 저장되는 함수 호출 정보 공격 원리 시스템 제어를 위한 특별한 코드 (셸 코드) 삽입 정해진 크기의 버퍼를 벗어나 메모리 위치에 데이터를 겹쳐 씀으로써 공격 1-2. 스택 버퍼 오버플로우 SetUID가 설정된 루트 권한의 프로그램을 공격 대상으로 함 셸 코드: 셸의 제어를 넘기고 공격 당한 프로그램의 권한을 사용할 수 있도록 하는 코드 공격 절차 셸 코드를 버퍼에 저장 스택 반환주소를 셸 코드가 있는 버퍼의 주소로 변경 특정 함수 호출이 ..
1. 서버관리자의 업무 로깅 정보 감시, 백업 수행, 정기적 테스트 등 시스템은 지속적으로 보안 유지 관리를 받아야 함 시스템관리자 계정 root 계정으로 로그인 root 계정으로 변경 (su) root로 직접 로그인하는 것은 막고, su를 통해 변경하는 것이 권장됨 사용자 계정 관리 리눅스는 멀티태스킹 목적의 다중 사용자를 수용할 수 있음 /etc/passwd는 일반 사용자가 접근 가능하므로 비밀번호는 shadow에 암호문으로 저장됨 계정 사용을 제한해야 함 원격 접근 권한 제거: /etc/passwd에서 셸 삭제 계정 사용 기간 설정: /etc/shadow에서 사용기간이나 만료일 설정 자원 관리 프로세스 관리 ps, kill, wait, su 등의 명령어가 있음 nice: 프로세스의 우선순위 변경 가..
1. 유닉스 서버용 운영체제로 가장 널리 사용됨 Oracle Solaris, AIX, HP-UX 등이 있음 특징 대화식 운영체제(Shell), 호환성 및 이식성, 뛰어난 통신 기능 등 커널 항상 메모리에 상주하여 하드웨어 자원을 직접 제어 사용자 프로그램이 커널에 접근하는 인터페이스 제공 (System Call) 셸 OS와 사용자의 대화 기반을 제공하는 명령어 해석기 본 셸, 배시 셸 등 다양한 종류가 있음 파일시스템 디렉터리는 계층화된 트리구조, 최상위 디렉터리는 root /etc: 시스템 환경 설정 및 주요 설정 파일이 있음 /dev: 물리적인 장치를 다루는 특수 파일이 있음 /usr/bin: 기본적으로 실행 가능한 파일들이 있음 /user/sbin: 시스템 관리 명령어가 저장됨 /home: 사용자 ..
1. 윈도우 1-1. 윈도우 시스템 구조 5개의 링 구조: 하드웨어, HAL, 마이크로커널, 관리자, 응용 프로그램 하드웨어부터 관리자는 커널 모드로, 응용 프로그램은 사용자 모드로 구분 HAL: HW와 드라이버 개발자가 따르는 표준, HW와 SW의 통신을 가능하게 함 1-2. 윈도우 특징 GUI 환경 OLE (Object Linking Embedding): 프로그램 간 개체 교환 가능 단축 아이콘, 다중 모니터, 클립보드, 멀티태스킹 등 1-3. 윈도우 파일시스템 FAT16 2GB까지 한 파티션으로 설정 현재는 너무 작은 용량임 FAT32 32-bit 클러스터를 가질 수 있음 현재도 종종 사용되며 호환성이 좋음, 접근제어는 불가 NTFS 결함 관리, 접근 제어 및 암호화가 가능한 파일시스템 (권한 설정..
1. 악성 소프트웨어 (악성 코드) 1-1. 악성 소프트웨어 의도적으로 보안속성을 침해할 목적으로 작성된 프로그램 독립형과 기생형 독립형: 웜, 좀비 등은 독자적으로 실행 가능함 기생형: 바이러스, 논리폭탄, 백도어 등은 호스트 프로그램이 필요함 자기 복제 여부 바이러스성: 웜, 바이러스 등은 자기 복제를 함 비-바이러스성: 트로이목마, 백도어는 자기 복제를 하지 않음 악성 프로그램의 비교 바이러스 트로이목마 웜 자기 복제 O X O (매우 강함) 형태 감염 대상(숙주) 필요 유틸리티로 위장 독자적으로 존재 전파 경로 사용자가 감염된 파일을 옮김 사용자가 다운로드함 네트워크로 스스로 전파 증상 무결성 침해 시스템 및 파일 손상 기밀성 침해 정보 유출, 좀비 PC 가용성 침해 네트워크 성능 저하 1-2. ..
1. 보안 운영체제 기존 운영체제에 보안커널을 추가로 이식해 보안기능을 구현한 운영체제 보호 대상 메모리, 파일, 디렉토리, 실행 중인 프로그램, 하드웨어 장치 등 보호 방법 물리적 분리: 별도의 장비만 사용하도록 제한 시간적 분리: 프로세스가 동일 시간에 하나씩만 실행되도록 제한 논리적 분리: 각 프로세스의 논리적 구역을 지정 암호적 분리: 내부의 정보를 암호화 파일시스템 보호 명명: 알아내기 어려운 이름을 쓰는 것, 하지만 추측에 의한 발각이 쉬움 패스워드: 사용자마다 서로 다른 패스워드 제공 암호화: 파일 내용 자체를 암호화해 인가된 사용자만 알 수 있도록 하는 것 2. 보안 운영체제와 보안 커널 2-1. 보안 운영체제의 기능 사용자 식별 및 인증 임의적, 강제적 접근 통제: 신분 혹은 규칙에 기반..
1. 패스워드 크래커 1-1. 사전 공격 (Dictionary Attack) 패스워드 사전 파일로 접속 계정을 알아내는 해킹, 일치할 때까지 비교함 개인정보를 알고 있다면 매우 효율적임 1-2. 무차별 공격 (Brute-force Attack) 성공할 때까지 모든 경우의 수를 시도하는 해킹 워다이얼링에도 사용됨 패스워드 하이브리드 공격: 사전 공격과 무차별 공격을 결합 1-3. 레인보우 테이블 공격 레인보우 테이블: 하나의 패스워드에서 변이 함수로 여러 패스워드를 생성한 후, 해시 체인을 무수히 형성한 테이블 윈도우 LM 해시 크래킹에 성공함 사전 공격, 무차별 대입 공격보다 훨씬 빠름 2. 사회공학 (Social Engineering) 신뢰할 수 있는 대상을 사칭해 민감한 정보를 탈취하는 작업 인간 기..