[컴퓨터보안] Cyber security

티라노·2025년 5월 29일

컴퓨터 보안

목록 보기
11/13

Software Security

Software bugs

소프트웨어를 개발하다 보면 에러나 개발자의 실수 등으로 인해 시스템에 오류가 생긴다.

  • code review
    리팩토링 등으로 클린 코드를 작성하면 오류를 관리하기가 용이해진다.
  • testing
    요구사항 명세서에 따른다.
    테스트 규모에 따라 unit, intergration, system, acceptance 단계로 나뉜다.
  • type checking
  • static / dynamic analysis
  • formal verifications

테스트 종류
unit
각 컴포넌트, 함수 별로 테스트

integration
인풋, 아웃풋 값에 집중, 컴포넌트끼리 서로 잘 어우러지는지 관측

validation
요구사항 검증

system
소프트웨어와 다른 시스템 구성요소들을 전체적으로 테스트

White-box testing
소프트웨어 내 코드에 접근하기 쉬운 상황에 쓴다. 소프트웨어의 세부 동작을 잘 알고 있을 때 사용하기 좋다.
Black-box testing
내부 구조를 잘 모르거나 소프트웨어의 코드 구조를 잘 모를 떼 사용한다. 입출력 내용에 의존하므로 둘 사이의 관계는 유추에 맡겨야 해서 비효율적인 때가 있다.

Fuzzing

기존 값을 모호하게 만들어서 감추는 방법이다. 랜덤한 입력으로 시스템의 보안 수준을 확인한다.

mutation based fuzzing
처음에는 유효성이 검증된 인풋으로 시작해서 기존 입력값에 약간의 변화를 줘가며 결과를 지켜보는 방식이다.

gray-box fuzzing
소프트웨어의 fuzzing coverage를 보면서 블랙박스 테스트의 기법을 활용하는 방식이다.

존재하는 입력값에 약간의 변화를 주면서 테스트한다는 점은 뮤테이션 기반과 같지만, 입력값이 새로운 이벤트를 발견했을 때만 새로운 시드값으로 활용한다.

보통 보안 취약점을 발견하는 데 효과적이다.

Fuzzer

  • AFL(americal fuzzy loop)
    오픈소스
  • LibFuzzer
    C/C++ 라이브러리를 테스트하기 위한 fuzzer로 afl에서 영향받았다.

Malware

malicious software의 줄임말. 악의적으로 행동하기 위한 소프트웨어를 말한다.

  • 바이러스, 웜, 트로이, 랜섬웨어 등

Deep Web

검색 엔진으로 찾을 수 없는 인터넷의 부분을 말한다.
이 중 의도적으로 감추어진 사이트를 Dark Web 이라고 부른다.

TOR(The Onion Router)
클라이언트와 목표점 사이에 tor 네트워크를 두고 내부의 라우터들 간에 비밀 키를 생성한다. 비밀 키를 이용해서 전송할 패킷을 여러 단계로 감싸며 실제로 목적지에 패킷이 도착했을 때는 전송자의 정보를 알기 어려워진다.

Zero-day attack

시스템의 취약점이 개발자나 보안 커뮤니티에 아직 알려지지 않은 상태에서 공격자가 최초로 발견해 공격하는 것을 말한다.

CVE

common vulnerabilities and exposures 의 줄임말이다.
사이버보안의 여러 취약점을 기록하고 검색할 수 있는 시스템이다.

APT

advanced persistent threat 의 줄임말로 다음과 같은 특성을 가진다.

  • advanced techniques : 새로운 기술을 적용한다.
  • persistence : 장기간에 걸쳐 지속적으로 공격을 시도한다.
  • targeted : 불특정다수가 아닌, 특정 기업이나 개인을 타겟 삼아서 특성에 맞춰 공격 방식을 바꾼다.
  • custom malware : 특정 대상을 공략할 수 있는 멀웨어를 개발한다.

즉, APT란 하나의 공격 방식이 아니라 특정한 목적을 달성하기 위해 지속적으로 여러 방법을 오가며 시도하는 공격을 뜻한다.

Steganography

중요한 정보가 포함된 이미지를 데이터가 포함되지 않은 것처럼 감추는 기법이다.
모니터링이나 권한 없는 유저의 접근을 피할 수 있으며, 이미지 내에 랜섬웨어 등을 삽입해서 공격에 이용한다.

0개의 댓글