SOURCE CODE AUDIT

PHP 소스코드 보안진단 · 시큐어코딩

분석 도구 결과를 그대로 넘기지 않습니다. 오탐을 걸러내고 실제로 공격 가능한 데이터 흐름만 추려, 파일·라인 단위 위치와 수정 전후 코드까지 드립니다.

WHEN

이럴 때 소스 진단이 필요합니다

  • 원청·공공기관이 소스 보안약점 진단을 요구할 때행정안전부 SW 보안약점 진단가이드 기준에 맞춰 대응합니다.
  • 외주로 만든 시스템을 인수받았을 때누가 어떻게 만들었는지 모르는 코드부터 위험 지점을 파악해야 합니다.
  • 그누보드·영카트·워드프레스를 많이 고쳐 쓸 때직접 수정한 부분은 솔루션 업데이트로도 보호되지 않습니다.
  • 취약점 진단에서 같은 문제가 반복될 때화면 단위로 막는 대신 코드 구조에서 원인을 찾아 한 번에 고칩니다.

SCOPE

진단 항목

행정안전부 SW 보안약점 진단가이드의 항목을 기준으로, PHP 언어와 사용 중인 솔루션 특성에 맞춰 점검합니다.

입력 검증 · 출력 인코딩

  • SQL 쿼리 문자열 결합 → PDO·mysqli 파라미터 바인딩
  • htmlspecialchars 등 출력 인코딩 누락
  • eval·system·exec 등 위험 함수 호출
  • include 경로 조작(LFI/RFI)

파일 · 경로 처리

  • 업로드 파일 검증·저장 위치
  • 다운로드 경로 조작
  • 임시 파일·권한 처리
  • 직렬화 데이터(unserialize) 처리

인증 · 세션 · 권한

  • 관리자 기능 권한 검사 누락
  • 세션 재생성·쿠키 속성
  • 비밀번호 해시 방식(password_hash)
  • CSRF 토큰 적용 여부

암호화 · 비밀정보

  • 소스에 하드코딩된 비밀번호·API 키·DB 접속 정보
  • 취약한 암호 알고리즘(MD5·SHA1·ECB)
  • 예측 가능한 난수(rand·mt_rand)
  • 개인정보 암호화 저장

오류 처리 · 로그

  • 에러 메시지로 내부 정보 노출
  • 예외 처리 누락으로 인증 우회
  • 로그에 개인정보·비밀번호 기록
  • 디버그 코드 잔존

오픈소스 · 라이브러리(SCA)

  • Composer 패키지 취약 버전
  • 그누보드·영카트 버전과 패치 적용
  • 워드프레스 플러그인·테마 취약 버전
  • 지원 종료 라이브러리 사용

PROCESS

진행 절차

  1. 01

    소스 · 범위 확인

    대상 디렉터리, PHP 버전, 사용 솔루션과 라이브러리를 확인합니다.

    산출물: 범위 정의서
  2. 02

    정적 분석

    도구로 전체 소스를 분석해 의심 지점을 넓게 찾습니다.

    산출물: 1차 분석 결과
  3. 03

    엔지니어 검토

    데이터 흐름을 따라가며 오탐을 걸러내고 실제 공격 가능한 지점만 남깁니다.

    산출물: 보안약점 목록
  4. 04

    수정 코드 제시 · 조치

    파일·라인별 수정 전후 코드를 드리고, 원하시면 직접 반영합니다.

    산출물: 수정 코드
  5. 05

    재진단 · 교육

    수정 결과를 다시 진단하고, 개발자에게 반복 실수 유형을 공유합니다.

    산출물: 재진단 결과 · 교육 자료

DELIVERABLES

산출물

  • 보안약점 목록파일·라인 단위 위치
  • 수정 전후 코드그대로 적용 가능한 예시
  • 재진단 결과제출용 결과서
  • 개발자 교육팀의 반복 실수 유형

FAQ

자주 묻는 질문

분석 도구 결과만 정리해 주는 건가요?

아닙니다. 도구 결과는 오탐이 많아 그대로 쓰면 개발팀이 불필요한 수정을 하게 됩니다. 엔지니어가 데이터 흐름을 직접 확인해 실제로 공격 가능한 항목만 남기고, 각 항목에 수정 코드를 붙입니다.

소스를 외부로 반출하기 어렵습니다.

반출이 어려우면 고객사 서버나 지정 PC에서 진단하는 방식을 협의합니다. 진단 데이터는 비밀유지계약에 따라 관리하고 종료 후 파기합니다.

그누보드·영카트 커스터마이징 코드도 보나요?

네. 솔루션 원본과 비교해 직접 수정한 부분을 찾아 집중 점검하고, 솔루션 자체의 알려진 취약점과 패치 적용 여부도 함께 확인합니다.

PHP 버전 업그레이드와 같이 진행할 수 있나요?

함께 진행하면 효율적입니다. 업그레이드를 위해 어차피 전체 소스를 수정하므로, 그때 보안약점도 같이 고치면 테스트를 한 번에 끝낼 수 있습니다.

CONTACT

무료 PHP 보안진단 신청

시스템 개요만 알려 주셔도 됩니다. 영업일 기준 1일 이내에 담당 엔지니어가 연락드립니다.

침해 사고가 의심되나요?

서버를 끄거나 포맷하기 전에 전화 주세요. 증거 보존 방법부터 안내해 드립니다.

연락처만 남기셔도 됩니다. 1분이면 끝나요.

어떤 도움이 필요하세요? (선택)
추가 정보 입력 (선택)

영업일 기준 1일 이내에 PHP 보안 엔지니어가 직접 연락드립니다. 비용·계약 의무 없음.

전화 상담