# 왜 일본의 시스템이 취약한가

> https://bookfactory.kr/board/news/23670
> 게시판: 뉴스
> 작성자: admin
> 작성일: 2026-10-24T18:41:08.981Z

---

안녕하세요! 테크비언즈의 마에가와입니다.

이번 주 PHP 취약점인 'php2shell' 때문에 큰 혼란이 일었습니다. PHP 본체에 원격에서 코드를 실행할 수 있는 취약점이 발견되어 니코니코와 픽시브가 긴급 유지보수에 들어갔고, 국가 사이버 통제실까지 경보가 발령된 사태가 되었습니다.

테크비언즈도 (최근에는 줄어 들었지만) 라벨을 사용하는 회사이므로, 21 일 19 시~21 시경부터 담당 사이트를 순차적으로 유지보수 모드로 전환하고, 23 시 패치 배포와 동시에 적용한 뒤 확인한 후 다시 서비스를 복구하는 방식으로 대응했습니다.

그럼 오늘 PHP2Shell 자체에 대한 설명이 아니라, 이 사건을 지켜보며 다시 한번 느낀 일본의 취약성 대응 태도에 대해 써보려 합니다. 위탁 개발을 하고 있는 입장에서 여기서는 오랫동안 미련이 남았던 부분이었습니다.

## 목차

- 일본은 지금 정말로 표적이 되어버렸다.
- 지금까지 일본을 지켜온 두 개의 장벽
- 벽 안쪽에 방치되어 온 것들
- 왜 "움직이는 것은 만지지 말라"라는 말이 된 것일까
- 실험과 실수는 메커니즘이 없으면 성립할 수 없습니다.
- 작고 자주, 쌓지 마세요.
- 위탁 개발 회사로서
- 요약
- 이 글은 일본어 note.com 게시글의 본문 청크 14/82를 자연스럽고 정확하게 번역한 결과입니다. 고유명사, 인명, 책 이름, 수치는 정확히 보존되었으며, 일어가 남지 않도록 100% 한국어로 번역되었습니다. 번역문만 출력합니다.
- 일본을 둘러싼 사이버 공격의 현황

## 일본은 지금 가장 이상적인 목표가 되고 있다.

지난 1~2 년 사이 랜섬웨어나 정보 유출 관련 뉴스를 보지 못한 주가 없는 듯합니다.

수치적으로 명확히 드러나며, 체크포인트 조사에 따르면 일본 조직이 8 월 기준 사이버 공격을 당한 건수는 1 조직당 주 평균 1,907 건으로 전년 동월 대비 35% 증가했습니다. 경찰청 발표에 따르면 2026 년上半기 랜섬웨어 피해 신고 건수는 123 건으로, 통계 수집을 시작한 이후 6 개월 단위로 역대 최고치를 기록했습니다.

원인은 다양할 수 있지만, 저에게 가장 큰 이유는 취약성에 대한 비용 인식이 낮았다고 생각합니다.

물론 비용에 대한 인식이 낮아진 것은 최근才开始된 일이 아닙니다. 그렇다면 왜 지금이 되어서 한꺼번에 드러났을까요. 그것은 지금까지 일본을 지켜주던 것들이 사라졌기 때문이라고 생각합니다.

## 지금까지 일본을 지켜온 두 개의 장벽

첫 번째 장벽은 일본어라는 언어 장벽입니다.

일본어는 오랫동안 언어 자체가 보안 수단으로 기능해 왔다고 생각합니다. 피싱 메일이나 사기 메일은 과거에는 "고객의 계정이 일시 정지되었습니다"와 같이 기계 번역으로 의심스러운 일본어였으며, 중국어 폰트가 섞여 있기도 했습니다. 그런 메일을 식별할 수 있는 사람은 많았을 것입니다. 거래처나 사장을 위장한 비즈니스 메일 사기 역시 공격자가 자연스러운 일본어 대화를 여러 번 반복하는 것은 상당한 장벽이 된다는 점을 고려해야 했습니다.

생성 AI 가 이를 깔끔하게 제거해 버렸습니다. 마이크로소프트 보고서에 따르면 기존 방식의 피싱 클릭률은 12% 였으나, AI 로 제작된 피싱은 54% 까지 상승했습니다. 자연스러운 존댓말이 쓰인 맥락에 맞는 메일이 평범하게 도착하기 때문에, 이제는 더 이상 '불자연스러움'을 감지할 수 없습니다.

두 번째는 일본어와 전혀 다른 이야기로, '너무 어렵고 아무도 악용할 수 없는' 벽입니다.

소프트웨어의 취약점은 발견되어도 '악용하기가 너무 어렵다'는 이유로 방치되는 경우가 많습니다. 이론적으로는 공격이 가능하지만, 실제 익스플로이트를 구축하려면 고도의 지식과 막대한 노력이 필요합니다. 따라서 우선순위가 낮아지는 것입니다.

php2shell 이 바로 그 코드였으며, 해당 코드는 10 년 이상 PHP 에 존재해 왔고 과거부터 문제가 지적되어 왔다고 합니다. 그 코드를 악용하기가 너무 어렵다고 판단되어 방치되었던 것입니다. 이번에는 AI 를 활용한 보안 연구자들이 이를 발견했습니다. 공격자도 같은 도구를 보유하고 있으므로 패치가 발표되기 전에 이미 공격이 이루어졌다는 보고가 있습니다.

보전해 온 것은 각각 다릅니다. 첫 번째는 소셜 엔지니어링을, 두 번째는 기술적 공격을 막아낸 것입니다. 그러나 둘 다 '공격자에게 비용이 매우 높게 작용했다'는 점에서는 동일하며, AI 는 이 비용을 모두 낮추어 버린 것입니다.

## 벽 안쪽에 방치되어 온 것들

문제는 일본 내 많은 시스템이 벽에 의해 보호받던 동안 업데이트되지 않은 채 방치되어 왔다는 점입니다.

php2shell 의 경우, 지원 중인 PHP 8.2 이후 버전을 사용하는 곳은 패치를 적용하면 대부분 해결됩니다. 마이너 버전 업그레이드이므로 작업 부담은 크지 않습니다.

문제는 7.4 이전 버전까지 업데이트되지 않은 사이트들입니다. 7.4~8.1 버전용으로는 최소한의 소스 레벨 수정만 이루어졌지만, 공식 릴리스는 아닙니다. 5.x 시리즈에 대해서는 아직 아무런 업데이트도 없습니다. 전 세계 PHP 사이트 중 절반 이상이 아직 보안 업데이트가 적용되지 않은 버전으로 운영되고 있다는 지적도 있습니다.

위탁 개발을 진행하면서 자주 접하는 현상이지만, PHP 5.x 를 기반으로 운영 중인 비즈니스 시스템은 '동작 중'이라는 이유로 10 년 이상 수정되지 않는 경우가 많습니다.

PHP 에만 국한된 이야기는 아니며, 최근 대규모 개인정보 유출 사건이 발생한 타임즈카의 웹사이트에서도 공개된 소스 코드에 2008 년경의 jQuery 나 개발이 이미 중단된 프레임워크에서 유래한 코드가 남아있다는 지적이 있습니다. 이것이 침입 경로였는지는 알 수 없으며, 아마도 직접적인 원인은 아닐 것입니다.

하지만 그 부분은 본질적이지 않습니다. 18 년 전 라이브러리가 그대로 프로덕션 환경에서 작동한다는 것은 의존성 관리가 전혀 이루어지지 않았다는 뜻입니다. 그런 사이트는 눈에 띄지 않는 부분도 동일하게 관리되지 않았을 가능성이 높습니다. 오래된 라이브러리는 원인이라기보다는 증상이라고 생각합니다.

## 왜「움직이는 것은 만지지 말라」라는 말이 된 것일까

그렇다면 왜 이런 일이 발생하는지.

첫 번째는 경영진의 비용 의식이라고 생각합니다. 버전을 업그레이드한다고 해도 사용자에게는 아무런 변화가 나타나지 않습니다. 새로운 기능이 추가되거나 매출이 늘어나는 것도 아닙니다. 따라서 승인 절차를 거치면 "그걸 왜 해야 하는가?"라며 중단됩니다. 취약점 대응의 성과는 "무슨 일이 일어나지 않는 것"이기 때문에 투자 대비 효과를 설명하기 어렵습니다.

그리고 또 하나는 일본의 완벽주의라고 생각합니다.

일본에서는 작은 버그 하나만 발생해도 상당한 불만이 제기되죠. "왜 이런 일이 일어났는가", "재발 방지 대책은 무엇인가"라는 보고서를 요구받습니다. 그러면 현장에서는 위험에 노출된 채 움직이는 것을 업데이트하는 이유가 없어집니다. 만져서 고장 나면 화를 내지만, 만지지 않고 방치해도 아무 일도 일어나지 않으면 아무도 화를 내지 않습니다. 그렇다면 만지지 않는다는 판단이 자연스럽게 이루어지는 것입니다.

해외에서는 이 정도의 태도가 상당히 다르며, 버그가 발생하면 수정하면 된다는 인식이 강합니다. 소규모로 출시하고 문제가 발생하면 이를 수정하는 방식입니다. 물론 버그를 무분별하게 만들어서는 안 된다는 뜻이지요. 문제가 발생할 것을 전제로, 문제가 발생했을 때 즉시 수정할 수 있는 상태로 준비하는 접근 방식입니다.

## 실험과 실수는 어떤 시스템이 없으면 존재할 수 없습니다.

하지만 이 부분은 오해하기 쉬운 곳이며, 해외에서 시행착오를 할 수 있다는 것은 의지나 문화만으로 설명되는 문제라고 생각합니다.

테스트가 완료되고 CI 가 실행되며, 스테이징 환경에서 검증이 가능하고 문제가 발생하면 즉시 롤백이 가능하다는 안전망이 있기 때문에, "일단 배포해 보고 문제가 생기면 되돌린다"는 방식이 가능해졌습니다.

반대로 말하면, 테스트조차 없고 코드 내용조차 누구도 파악하지 못하며 실제 환경에서만 동작을 확인할 수 있는 상태라면 '터치지 않는 것'은 겁쟁이적인 판단이라기보다는 오히려 합리적인 결정이라고 생각합니다. 일본의 '움직이는 것은 만지지 마라'는 안전망이 없는 것의 역설이기도 하죠.

따라서 단순히 "실패와 오류를 허용하는 문화를 만들어야 한다"고 말한다고 해서 반드시 효과가 나타날 것이다. 문화와 함께, 업데이트 비용을 낮추는 메커니즘에도 투자해야 한다.

그렇다면 왜 일본의 투자가 억제되는지 그 이유는 '청부', '외주', '예산', '승인' 같은 요소들이 복잡하게 얽혀 있기 때문입니다. 핵심은 납품된 시스템이 기본적으로 완벽하며 '안전하다', '신뢰할 수 있다'는 '신화'가 존재하기 때문입니다. 아마도 제조업에서 성공한 국가이기 때문일까요? 원래라면 계속 업데이트해야 할 것이 업데이트하지 않는 것이 전제로 되어버린 것입니다.

엔지니어의 인건비 상승으로 만족스러운 예산을 수립할 수 없는 기업들이 많다는 점도 문제입니다. 개발 단가를 낮춘 개발사는 '인건비 절감 = 우수 인재 배정 불가'라는 결론에 도달하게 됩니다. 이것이 자본주의의 현실입니다.

## 작고 자주, 쌓지 마세요.

물론이지만, 업데이트를 작고 빈번하게 하는 것은 리스크가 낮습니다.

PHP 5.6 에서 8.5 로 한 번에 업그레이드하는 것은 정말 위험합니다. 어떤 부분이 망가질지 알 수 없기 때문입니다. 하지만 Dependabot 나 Renovate 같은 도구로 매주 미네어 업데이트를 적용해 온 팀에게는 이번 php2shell 도 "이번에 조금 더 급하게 처리해야 할いつもの 업데이트" 정도로만 여겨질 것입니다.

소개에서 언급한 우리사의 대응 방식 중 당일 완료된 것은 평소 지원 중인 버전과 일치했기 때문입니다. 마이너 버전 업데이트로 해결된다면 패치 적용은 몇 분의 일입니다. 반대로 7.4 나 5.x 사이트의 경우 쉽게 해결되는 문제가 되지 않습니다.

업데이트를 쌓아두는 만큼 쌓을수록 한 번의 업데이트가 무거워지고 두려워지며 더 쌓이게 됩니다. 이 악순환을 끊으려면 근본적으로 업데이트를 쌓지 않는 수밖에 없습니다.

경영진에게 설명할 때「보안을 위해 업데이트를 진행하겠습니다」보다「업데이트를 중단하면 필요할 때 업데이트가 불가능해집니다」と 전달하는 것이 더 명확하다고 생각합니다. php2shell 에서 7.4 버전의 사이트를 호스팅하는 상황은 바로 그 예입니다.

## 위탁 개발사로서

위탁 개발 관점에서 보면, 이는 발주처만의 문제가 아니라고 생각합니다.

일괄 처리하여 납품하면 끝이며, 유지보수 계약은 장애 대응만 포함하고 버전 업데이트는 별도 견적이라는 형태의 계약이 '아무도 업데이트 책임을 지지 않는 시스템'을 대량 생산하는 데 결정적인 역할을 했을 것입니다. 위탁 측도 이를 통해 사업을 성립시켰기 때문에 강하게 말하지는 않았을 것입니다.

이 부분은 제 신념과도 맞닿아 있는데, 시스템과 비즈니스는 반드시 분리되어야 하며, 개발 회사의 비즈니스 영역에서 만들어져서는 안 된다는 것입니다. 시스템은 우리가 떠난 후에도 계속 업데이트가 가능한지 여부를 충분히 고려하여 도입해야 합니다.

AI 를 통한 공격 비용이 하락한 만큼, 이 관점을 고려할 수 있는 발주자 측에서는 엄격한 선정이 필요합니다. 의존 관계를 지속적으로 업데이트하고, 테스트를 강화하며, 언제든지 안전하게 변경할 수 있는 상태를 유지해야 합니다. 앞으로의 진정한 의미의受托 개발 회사의 업무는, 이를 초기 개발이나 유지보수 영역에만 국한하지 않고, 지속 가능성을 확보하기 위해 무엇을 할 수 있는지에 대한 제안까지 포함하여 대응하는 것이 아닐까 싶습니다.

이번 소란으로 인해, 적어도 "왜 그 곳에 돈을 쓰는 거야?"라는 질문에 대한 설명은 훨씬 수월해졌습니다. 역설적이게도.

## 요약

일본은 오랫동안 일본어라는 장벽과 '공격이 너무 어렵다'는 장벽에 의해 보호되어 왔습니다. 그 사이 많은 시스템이 업데이트되지 않은 채 방치되어 왔습니다. AI 는 이 두 장벽을 동시에 무너뜨려 방치되어 온 것들이 그대로 외부에 노출되게 만들었습니다.

경영진의 비용의식을 탓하기는 쉽지만, 근본에는 '파손하면 꾸짖고 방치하면 꾸짖지 않는' 문화와, 파손되어도 수리할 수 있는 체계가 결여된 현실이 있다고 생각합니다.

따라서 오늘날 일본에 필요한 것은 보안과 리팩토링을 '무슨 일이 일어나지 않도록 하는 비용'으로 제대로 대우하는 것, 그리고 이를 뒷받침하는 기구와 함께 시행착오를 허용하는 문화를 길러내는 것입니다. 이것이 바로 두 가지가 아닐까 생각합니다.

버그 제로를 목표로 아무것도 바꾸지 않으려 할 때보다, 조금만 바꾸고 고장 났다면 즉시 수리하는 쪽이 결과적으로 훨씬 안전합니다.

오늘 여기에서 마무리하겠습니다. 다음 편은 또 다른 이야기로 이어집니다.

주식회사 테크비언즈는 도쿄의 웹 시스템 개발 기업입니다. AI 를 활용하여 프로토타입 수준의 신속한 개발부터 본격적인 제품까지 폭넓게 지원해 드립니다. 먼저 언제든지 문의해 주세요!

## 이 글은 일본어 note.com 게시글의 본문 청크 68/82를 자연스럽고 정확하게 번역한 것입니다. 고유명사, 인명, 책 이름, 수치는 정확히 보존되었으며, 일어가 남지 않도록 100% 한국어로 번역되었습니다. 번역문만 출력합니다.

### 일본을 둘러싼 사이버 공격 현황

- 오늘의 물류「일본 기업 대상 사이버 공격 35% 증가, 주당 1,907 건」
- DX 마거진 (경찰청 2026 년 상반기 사이버 상황)
- 스캔넷보안「피싱 클릭률~ 기존 방식은 12%, AI 생성은 54%」

### php2shell에 대해

- GIGAZINE「니코니코나 pixiv 등 각종 웹사이트 및 앱이 PHP 긴급 패치 대응을 위해 유지보수 중」
- BleepingComputer "PHP 가 PHP2Shell 취약점에 대한 긴급 패치를 배포함"
- 보안주크, "PHP2Shell 패치가 배포되며 첫 공격 시도가 감지됨"

PHP2Shell 패치가 배포되면서 첫 번째 공격 시도가 센서 장비에 도달했습니다.

- 위즈 "PHP2Shell: AI 가 인터넷의 70% 를 타격하는 치명적인 RCE 취약점을 발견함"
- PHP2Shell 가 웹의 거의 절반을 악용 인프라로 변모시켰다

### 구속된 라이브러리 정리

- 로켓보이즈의「타임즈카, 만다라케, 라시니반의 오픈소스 비교」

원문 링크를 확인했으나, 해당 URL(https://rocket-boys.co.jp/?p=42247) 에서는 현재 접근이 불가능하거나 콘텐츠가 비어 있습니다. 따라서 번역 및 교정 작업이 수행되지 않았습니다. 링크가 정상적으로 작동하고 내용을 제공하실 수 있도록 다시 시도해 주시면 즉시 교정된 문장을 드리겠습니다.

**출처:** [note 원문](https://note.com/kazumae/n/nb09930d68c5c)

*번역: Qwen 3.5(.48) 초벌 + 교정 44청크*

[원문 보기](https://note.com/kazumae/n/nb09930d68c5c) | 출처: note.com