Security Engineer
백성빈입니다

시스템은 복잡해져도, 위협 대응은 더 빨라져야 합니다.
복잡한 노이즈 속에서 단순화를 찾겠습니다.

Security Operation
Firewall, WAF, IPS, NAC
Automation
Python, JS, VBA, Splunk
Infrastructure
Linux, AWS, Network
Analysis
Packet Analysis, Log Mining
Project 01

방화벽 분석 스크립트

수백 건의 방화벽 정책 신청서를 수기 검토하던 비효율을 해결하기 위해 Excel로 개발한 첫 번째 자동화 도구입니다. 신청서의 IP 정보를 입력하면 60여 대의 방화벽 중 경유 장비를 자동으로 식별하고, 정책별 상세 내역을 즉시 확인할 수 있도록 구현했습니다.

수작업 프로세스 자동화

정확도 향상 및 정책 검토 시간 단축 (10분 → 1분)

운영 리스크 최소화

구간 정합성 검증과 동시에 일관된 현황 관리 체계 마련

높은 범용성 및 즉시성

별도 인프라 구축 없이 .xlsm 파일만으로 즉시 도입

Excel VBA Prototype
Analysis Sheet

Analysis Sheet

Data Sheet

Data Sheet

Module1.vba
Function CheckFirewalls(inputData As Object) As Variant
    Dim fwEntries As Object, keysToRemove As Object
    ' ...
    
    ' 출발지 IP가 방화벽 객체 범위 내에 있는지 확인
    If srcIPRange(0) <> "" And srcIPRange(0) <= fw(i, 4) And srcIPRange(1) >= fw(i, 3) Then
        data_p(0) = True
    End If

    ' 목적지 IP가 방화벽 객체 범위 내에 있는지 확인
    If destIPRange(0) <> "" And destIPRange(0) <= fw(i, 4) And destIPRange(1) >= fw(i, 3) Then
        data_p(1) = True
    End If

    ' 유효한 엔트리만 Dictionary에 추가
    target_p = CStr(fw(i, 0) & Chr(124) & fw(i, 1) & Chr(124) & fw(i, 5))
    If (data_p(0) Xor data_p(1)) And Not fwEntries.Exists(target_p) Then
        fwEntries.Add target_p, Array(data_p(0), data_p(1))
    End If
End Function
Project 02

웹 기반 방화벽 분석 도구

기존 Excel 스크립트를 고도화하여 개발한 웹 기반 초기 모델입니다. IP 파싱, 정책 매칭, 라우팅 분석 등 핵심 로직부터 직관적인 웹 UI까지 Python과 JavaScript로 자체 구현하여 외부망 연동 없이 내부망에서 독립적으로 동작하는 기반을 마련했습니다.

분석 흐름 획기적 단축

경로 → 망용도 → NAT → 라우팅 → 컴플라이언스 분석까지 한 번에 처리

휴먼 에러 Zero

NAT 정책 검토 실수 0건 달성으로 운영 안정성 확보

데이터 현황 표준화

변동이 잦은 방화벽 현황과 IP 자산을 DB로 통합 관리하여 데이터 정합성 및 최신성 확보

Python JavaScript SQLite
Analysis Detail

Analysis Detail

Data Table

Data Table

Analyzer.js
displayResults(analysisResult) {
    const { results, summary } = analysisResult;

    // 1. 요약 정보 (적용 구간) 렌더링
    let summaryHtml = '';
    if (summary.permanent.size > 0) {
        summaryHtml += `<div>...</div>`;
    }

    // 2. 상세 테이블 생성
    const tableRows = results.map(res => {
        const { input, firewall } = res;
        const esc = (str) => String(str).replace(/</g, "&lt;").replace(/>/g, "&gt;");
        
        return `<tr>...</tr>`;
    }).join('');

    this.dom.resultsContent.innerHTML = summaryHtml + tableHtml;
}
Project 03

네트워크 토폴로지 시각화 도구

복잡한 네트워크 구성을 D3.js를 활용해 직관적인 토폴로지로 시각화하는 도구입니다.
이후 이 도구와 방화벽 분석 도구를 다음 섹션에서 소개할 NSOP이라는 도구로 결합시켰습니다.

네트워크 구조 시각화

물리적·논리적 네트워크 구조의 직관적 파악

협업 효율 증대

구성도를 팀원들과 공유하여 원활한 의사소통에 기여

신규 입사자 온보딩

복잡한 네트워크 구조를 시각적으로 교육하여 신규 입사자의 적응 시간 단축

Python JavaScript D3.js
Topology Graph

Topology Graph

Topology.js
initD3() {
    const width = this.dom.canvas.clientWidth;
    const height = this.dom.canvas.clientHeight;

    this.d3.svg = d3.select(this.dom.canvas).append("svg")
        .attr("viewBox", `0 0 ${width} ${height}`)
        .call(this.d3.zoom);

    this.d3.simulation = d3.forceSimulation()
        .force("link", d3.forceLink().id(d => d.id).distance(150))
        .force("charge", d3.forceManyBody().strength(-400)) // 반발력
        .force("center", d3.forceCenter(width / 2, height / 2))
        .on("tick", () => this.ticked());
}
Featured Project 04

NSOP(Network Security Operations Platform)

방화벽 분석 도구의 분석, 데이터 관리 기능과 토폴로지 시각화 도구를 합치고, 조직 내 협업을 위한 칸반 보드도 겸비하여 단일 플랫폼으로 고도화했습니다.
파편화된 데이터와 프로세스를 연결해 보안 운영 전반을 유기적인 워크플로우로 재정의하고, 실시간 협업 체계를 통해 개인의 노하우를 팀의 공통 지식 자산으로 전환하기 위한 목표로 개발했습니다.

All-in-One 플랫폼

협업 도구(칸반 보드) + 방화벽 분석기 + 데이터 현황 + 토폴로지 시각화 + 작업 로그

실시간 동기화 (SSE)

페이지를 열어두어도 변경 사항이 실시간으로 업데이트

업무 가시성 확보

칸반 보드로 업무 흐름을 시각화하여 누락 방지 및 협업 가시성 제고

Python JavaScript SQLite D3.js SPA SSE
데모 체험하기

체험용 ID: demo

Kanban Board

Kanban Board

Topology Visualization

Topology Visualization

Featured Project 05

WAF 시그니처 관리 도구

다수의 WAF 장비와 보안 정책별로 분산된 시그니처 상태를 단일 화면에서 직관적으로 확인하고 관리할 수 있도록 개발한 도구입니다. Splunk SPL 자동 생성, 위험도/정확도 기반 필터링 등 운영 효율화 기능을 통해 WAF 정책 관리의 복잡성을 해소했습니다.

정책 현황의 가시성 확보

분산된 장비별 시그니처 상태를 단일 뷰로 통합하여 정책 불일치 및 미적용 현황 즉시 파악

로그 분석 시간 단축

SPL 자동 생성으로 시그니처별 탐지 현황 조회를 위한 쿼리 작성 시간 최소화

정책 적용 리스크 최소화

위험도/정확도 기반 필터링으로 오탐 가능성이 높은 시그니처를 사전에 검토 후 적용

Python JavaScript Splunk
데모 체험하기
WAF Workbench

WAF Workbench

Signature Status Comparison

Signature Status Comparison

Project 06

NAT 정책 데이터 정규화 스크립트

다양한 벤더의 방화벽에서 추출된 서로 다른 포맷의 NAT 정책을 표준화된 CSV 포맷으로 자동 변환하는 PowerShell 스크립트입니다.

유연한 확장성

신규 벤더 장비 도입 시 확장 파싱하여 표준 포맷으로 통합

데이터 정합성 확보

수기 관리의 한계를 극복하고 표준화된 데이터 기반 분석·관리 환경 마련

PowerShell ETL
Raw Data / Normalized Data

Raw Data / Normalized Data

Normalized

Script Execution Process

Normalize.ps1
# Excel COM 객체 생성 및 백그라운드 실행
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false; $excel.DisplayAlerts = $false

# 대상 폴더 내 모든 .xlsx 파일 반복 처리
Get-ChildItem -Path $PSScriptRoot -Filter *.xlsx | ForEach-Object {
    try {
        $workbook = $excel.Workbooks.Open($_.FullName)
        
        # 1. 벤더별 포맷 차이 정규화
        if ($worksheet.Range("D2").Text -eq "Interface") {
            $worksheet.Columns.Item(4).Insert()
        }

        # ...

        # 5. CSV 포맷으로 변환 저장
        $csvFilePath = [System.IO.Path]::ChangeExtension($_.FullName, ".csv")
        $workbook.SaveAs($csvFilePath, 6)
    } finally {
        $workbook.Close($false)
    }
}