PHP의 한 Security담당자가 결국 독한마음먹고 사임하기로 했답니다.

aero의 이미지

Stefan Esser( http://blog.php-security.org/authors/1-Stefan-Esser )라는 PHP의 보안관련 리포팅을 담당하던 사람이 스스로 그 일에서 손떼기로 했다고 합니다.

참고:
http://blog.php-security.org/archives/61-Retired-from-securityphp.net.html

위 글을 보시면 아시겠지만 이유는 많지만 PHP의 보안을 내부적으로 부터 향상시키려는 시도는 헛된일이었다라는걸 깨달은게 가장 큰이유이고 그외에도 PHP의 보안상 문제에 대해 문제삼으면 고치려기보다는 PHP Group으로 부터 각종 태클과 PHP에 비우호적인 인물이라고 낙인찍혀버리며 PHP의 보안상 구멍을 밝혀내고 또는 Suhosin - an advanced protection system for PHP ( http://www.hardened-php.net/suhosin/ ) 개발한다는 이유로 비도덕적인 배신자(immoral traitor)라고 불리우는데 대해 더이상 참을 수 없었기 때문이라고 합니다.
(외국사람이 수호신 이란 한글이름으로 개발하고 있었다는것도 신기하네요 해당 페이지 가봐도 한글로 수호신 이라고 달아놨고... 이거 쓰셨던 분들 계신가요?)

그리고 앞으로는 PHP.net쪽 눈치안보고 숨기거나 늦게 대응하지 않고 어떤것은 패치제공도 없이 PHP의 보안상 문제점을 거침없이 까발릴거라고 하네요 이것은 모두 PHP Security Response Team이 몇달동안이나 수정을 거부했기 때문이랍니다.

이 사람 정말 단단히 맘 상했나봅니다. --;

국내에서도 PHP가 대중적으로 아주 많이 쓰이고 있는데 이쪽 사정에 대해 잘 아시는분 없나요?

only2sea의 이미지

안타깝네요. 글을 읽어보니 답답한 마음이 그대로 전해져 옵니다. PHP의 보안을 내부적으로 부터 향상시키려는
시도가 헛된 이유는 결국 PHP 그룹등의 세력들 때문이군요.

이제는 서명에 무엇을 써야하는지 생각해보자.

aero의 이미지

http://blog.php-security.org/archives/51-Howto-not-treat-bugreporters....html

여기에 Stefan Esser이 Comment 달아놓은것들 중에

And you have no fucking clue about the nice emails I get from PHP.net members wishing me dead, calling me a traitor or similiar attacks/swearwords.

라는 말까지 나오는것 보면 정말 분위기가 살벌했던것 같습니다.

cjh의 이미지

http://www.hardened-php.net/suhosin/faq.html#general 에 아래와 같이 되어 있군요.
재미있는 분입니다.

What does Suhosin mean?

Suhosin (수호신) is a south-korean word that means something very similiar to the english guardian-angel.

Why is Suhosin called Suhosin?

According to some blog entries a few korean people are kinda suprised about the name. They wonder why a german developer has choosen a korean word for his project’s name. The reason for this is very simple. The main developer of Suhosin is interested in korea for about a year now, he enjoys watching korean movies, loves korean food and he learns the korean language for several months now. Additionally the word ‘suhosin’ is quite simple, sounds interesting, describes exactly what the program is and bypasses the problem that most english words are already taken by popular software.

--
익스펙토 페트로눔

--
익스펙토 페트로눔

익명사용자의 이미지

http://swbae.egloos.com/1413859

한글로된 같은 제품이 있죠. 그건 물론 상용

경의 이미지

사진보니 한국계 독일인이 아닌가 싶기도 하더군요.

moonend의 이미지

솔직히 '수호신'이라는 이름을 보고 깜짝 놀랐습니다.
좋은 이름은 누군가 꼭 쓰기 마련이군요... ^^;;

keedi의 이미지

오프토픽입니다만~
aero님~ 펄매니아 송년회 오실거죠? :-)

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

----
use perl;

Keedi Kim

aero의 이미지

토,일은 힘들구요 목,금중으로 날짜가 잡히는듯 한데
그렇게 되면 참석하겠습니다. :)
다른 Perl을 좋아하시는 분들도 많이 만났으면 하는 바램이네요~

aero의 이미지

제가 이 글을 보게 된곳이
Perl Guru들이 자신의 Journal을 올리는 use perl이라고 하는 싸이트 인데요.
http://use.perl.org/~rafael/journal/31879

Perl Guru들이 보기에는 PHP의 보안상 문제점이
근본적인 언어 설계부터 잘 못 된점때문에 기인한다는 의견입니다.
Larry Wall도 PHP가 요즘의 high-level language들이 가지는 특성인 namespace가
존재하지 않는 flat namespace라면서 문제점을 지적했었고..

반면 Perl에서는 taint mode라고 이러한 다양한 보안상 문제점을 피해갈 방법이 존재합니다.
참고:
http://www.oreillynet.com/onlamp/blog/2006/11/perls_taint_mode_to_the_rescue.html
http://gunther.web66.com/FAQS/taintmode.html
그래서 Perl User들은 Perl의 이러한 점을 널리 알려서 다시 Perl이 요즘 CGI단계를 벗어나
Catalyst,Jifty등 Framework기반을 갖추면서 편리성과 보안성을 갖춘 Web 개발 언어로 전면에
나설 수 있는 기회 라고 생각들을 하는것 같습니다.

김정균의 이미지

저도 Stefan Esser 와 같은 경험을 당해본적이 있어서 ^^;

php group 은 어떤면에서 상당히 폐쇄적이고 비 우호적입니다. 접해보면 우리나라 토론게시판에 종종 나타나는 찌질이들과 비슷한 느낌을 받습니다.

저도, phpbb 보안버그가 흉흉하던 시절, safe_mode_exec_dir 옵션을 safe_mode 가 아닐때도 사용할 수 있도록 parser 를 만들어서 보낸적이 있었는데, 패치에 답장이 붙은 것이 아니라 개발자중 한명에게서 "그런 패치는 필요 없다" 라는 답장을 받은 적이 있습니다. (받자마자 너무 기분 나빠서 삭제했는데, blog 에라도 올려 놓을 걸 그랬습니다. ^^)

그래서 결국에는 리포팅을 포기하고 안녕 리눅스의 PHP 에만 적용시켜 놓고 있죠. 기분 나빠서 쓰지 말까 생각도 해 봤는데, 그래도 제일 잘하는 것이 PHP 인지라.. 그냥 저도 무시하고 쓰고 있습니다. ^^;

또, 얼마전 회사에서 eAccelerator 에 문제가 있었습니다.

function funtion_name ($a = array ('A', 'B', 'C')) {
 ...
}

위와 같이 함수의 argument default value 를 array 로 선언했을 경우 eAccelator 가 segfault 를 내는 문제였는데, 이를 해결하기 위해서는 php engine 의 수정(opcode problem)이 필요하다는 결론을 내고 리포팅을 한 적이 있었습니다. (http://bugs.php.net/bug.php?id=38878 참조)

MM truck cache 개발자인 dmitry가 asign 을 했었는데, 다른 개발자가 php bug 아니니 상관마란 식으로 BOGOS 로 status 를 변경해 버리더군요. --;

익명사용자의 이미지

정균님은 패치를 보내면 자기 이름으로 등록하시곤 하시던데
패치를 개작하더라도 패치 보낸 사람이름은 다음부터 기록 좀 해주세요.
그러고보니 이미 벌써 지나가 버린 jsboard 얘기네요.

김정균의 이미지

그랬나요? 저는 나름대로 공헌자분들을 기록한다고 했는데요. changelog 를 보니

2004.03.05
  by 임은재 <http://kldp.org/~eunjea/>
    - rss.php 에서 charset 을 설정 파일에서 받아오게 수정
    - rss 의 XML 헤더 추가
 
 
2004.02.07
  by 함기훈 <cloou at scscian.net>
    - RSS 기능 추가
 
2002.12.01
  by 김칠봉 <http://www.linuxchannel.net>
    - check_htmltabel 함수 재작성
 
2002.10.14
  by 이정현 <http://junghyun.pe.kr>
    - 상세 검색 페이지의 고정폭 문제 수정
 
2002.09.07
  by 김칠봉 <http://www.linuxchannel.net>
    - get_hostnmae 함수 수정

와 같이 반영을 해 드리고는 있습니다. 뭐 제가 누락했을 수도 있겠지만요. 기본적인 개발 컨셉은 원 코드 반영자를 changelog 에 반영해 드리고 있습니다.

wish의 이미지

이런 이야기는 하실려거든 이메일로 개인적으로 하시거나,

정 공개하실라면 정확한 사실 관계를 밝혀 놓는 것이 좋지 않을까요?

경의 이미지

safe_mode_exec_dir 는 당연히 safe_mode에 사용하도록 다자인 한 것인데 그런 패치가 포함되기를 바라는 것은 무리일 것 같습니다.
php bug 관련 지침을 보셨다면 당연히 eAccelerator문제를 리포트하셔는 안 됩니다.

김정균의 이미지

해석하기 나름이다라고 판단됩니다만.. eAccelerator 의 문제가 아니라 Zend Engine 의 opcode 의 문제였기 때문에 제시를 한겁니다. eAccelerator 의 문제라면 eAccelerator 에서만 발생해야 하니까요. 하지만 Zend Performance Suit 에도 동일한 문제를 가지고 있습니다. (opcode 를 이용하는 cache 는 모두 적용이 됩니다.)

그리고, safe_mode_exec_dir 을 일반 모드에서도 사용을 할 경우, php 의 injection attack 에 상당한 도움이 됩니다. 그런데도 불구하고 사용하지 말자고 제안을 하는 것은 좀 어폐가 있는 것 같군요. 왜 안된다는 이유가 있다면 모르겠지만, 좀더 안전하게 사용하자고 제안을 하는 것이 부적절하다는 것은 좀 이해가 안됩니다.

경의 이미지

Zend Performance Suite 설치한 상태도 마찬가지입니다.
opcode cache 하는 프로그램을 끄고 같은 현상이 나타난다면 제대로 처리될 확률이 높아질 것이라고 생각합니다.

권순선의 이미지

그만큼 php 개발에 참여하는 사람들이 많다는 반증이기도 합니다. 사람이 많아야 사람들의 성향도 다양하게 나타날 테니까요. 저는 솔직히 우리나라의 오픈소스계도 언제 그런 단계에까지 이를 수 있을까 내심 부럽기만 합니다. -_-a

corean의 이미지

오픈소스프로젝트들이 갈수록 폐쇄화되는 것 같아 씁쓸합니다.
더군다나, 보안쪽 문제라니..

PS: 정균님이 PHP에 조예가 깊은 줄은 처음 알았네요. OTL

김정균의 이미지

제가 할줄 아는 것 중에 가장 잘하는 것(익숙한 것..)이 PHP 라는 거죠. --;

경의 이미지

지금 접속이 안 돼서 정확한 내용은 모르겠으나, 예전에 그런 적이 있죠.
5.2 릴리스 되고 나서 취약점 공개했는데 한 개발자가 미리 알려 주지 그랬냐고 했다가
벌써 얘기 했는데, 이런 식으로 날 인신 공격하다니 죽어라...뭐 이런 말을 했다는...
아주 심하게 반응을 하는 걸 보고 이 분 예전에 무슨 안 좋은 일 있었나 했는데...
근데 제가 찾아 보니 그런 말한 흔적이 잘 안 보이더라는...^^
거침없이 까발리는 것을 별로 좋은 생각이 아닌 것 같습니다.

t3RRa의 이미지

"PHP의 보안상 문제점을 까발리는 비도덕적인 배신자(immoral traitor)라는 말을 들은 시점부터 그 일을 그만두었고 그리고 자신이 개발하던 Suhosin - an advanced protection system for PHP ( http://www.hardened-php.net/suhosin/ ) 라는것도 그만둔다고 합니다."

링크 가서 읽어보았는데 위 번역 부분은 문제가 있습니다. 원문에서는 "보안 문제를 발표하거나 수호신을 개발하는 것때문에 '비도덕적 배신자'라 불려진 것에 대한 카운팅을 그만두었다"고 되어 있습니다. 즉, 원문에서는 보안 문제 발표나 수호신 개발을 그만두겠다는 말은 없네요. 단지 PHP Security Response Team을 그만둔다는 것인데, 이는 아마도 PHP 개발 그룹에 버그 리포팅을 하여 PHP의 버그가 수정되도록 활동하는 팀인것 같습니다. 수정 바랍니다.

원문: I stopped counting the times I was called immoral traitor for disclosing security holes in PHP or for developing Suhosin.

aero의 이미지

I stopped counting the times I was called immoral traitor for disclosing security holes in PHP or for developing Suhosin.

위에 지적해주신 분도
"보안 문제를 발표하거나 수호신을 개발하는 것때문에 '비도덕적 배신자'라 불려진 것에 대한 카운팅을 그만두었다"
"카운팅을 그만 두었다" 라는 부분에서 좀 모호하셨던것 같은데.

다시 이 문장을 곰곰히 되씹어 보니
stopped counting the times ~ 라는부분은 단어 그대로는 "~한 횟수를 세는것을 그만 두었다지만" google에서 관련 문장이 들어간 여러 문장을 검색하여 문맥상 의미를 보건데 counting the times ~ 가 ~한 횟수를 세며 두고 두고 보는 상태를 의미하고 그것을 그만두었다는건 의미상으로는 더이상 참을 수 없었다로 해석해야 할 것 같습니다.

"PHP의 보안상 구멍을 밝혀내고 또는 수호신을 개발한다는 이유로 비도덕적인 배신자라고 불리우는데 대해 더이상 참을 수 없었다." 로 수정해야할 듯 합니다.

그리고 문맥상 오해의 소지가 있는 부분은 수정 했습니다.

다른 의견 있으시면 태클환영 입니다.

t3RRa의 이미지

> "카운팅을 그만 두었다" 라는 부분에서 좀 모호하셨던것 같은데.

모호했던건 아니고 한국어로 뭐라고 해야 하는지 생각나는게 없었습니다. 한국어 수준은.. 한국에선 중2때까지만 살았었기 때문에 아무래도 좀 미흡한 점이 있습니다; 그런데 '횟수'가 있었군요;;;

위에서 제가 지적한 것은 원문에서 그 개발자가 수호신 개발을 그만두었다는 얘기가 없었다는 것입니다. (이 부분은 수정하셨으니..) PHP 보안쪽에서 완전히 손을 뗀다는 것도 없고, 단지 PHP Security Response Team을 그만두었다는 것이고 앞으로 계속 보안문제는 알릴 예정인데 이전과는 다르게 PHP 개발자들과는 상관없이 재깍재깍 공고하겠다는... 더이상 그들이 패치해주길 바라며 기다리지만은 않겠다는 내용이지요. 좀 강경하게 나가겠다는 뜻으로 비추어집니다.

그리고 횟수를 세는 것을 그만 두었다는 것은 더이상 참을 수 없다는 의미라기보다는 바로 이전 문장을 보조해서, 자신은 횟수 세기를 그만둘 만큼 PHP측으로부터의 비방이 많았다는 것을 언급하는걸로 보입니다. 즉 PHP 개발자들이 버그리포팅을 받아들이기보다는 꽉 막혀서는 버그리포팅하는 사람들을 비방이나 한다는...

그럼..

익명사용자의 이미지

I stoped counting the times...라는 건 직역하면 "...한 횟수를 세다가 그만뒀다."라는 얘기고, 좀 의역하면 "한두 번이면 내가 몇 번인지 기억을 할 텐데, 하도 많아서 몇 번인지 기억도 안 난다."라는 뜻입니다.

좀 부드럽게 번역하자면,

"PHP의 보안 문제를 드러내거나 수호신을 개발하는 것 땜에 부도덕한 배신자라고 불린 게 열 손가락으로 꼽을 수 없을 지경이다."

정도가 되겠습니다. (뭐 엄밀히 따지자면, 저 사람이 보통 몇 번 욕을 먹으면 횟수 세는 걸 그만두느냐 하는 문제가 있긴 하지만... -.-)

- jick (지나가던 잡상인)

winner의 이미지

PHP 는 open source 아니었다요? 성당과 시장에서 배운 교훈은 무엇이었는지...
예전에 Microsoft 가 하던 소리를 그대로 따라하는 느낌이라 보기 안 좋군요.

PHP 는 아예 보안과 관련해서 책이 나올 정도로 굉장히 많이 사용됩니다만...
이런 것을 보면 사용하기 싫어지는군요.

관리가 잘 안 되는 server 가 cracking 당한 것을 보면 대부분 PHP 보안 bug 더군요.
물론 PHP 보안 bug 를 이용하는 방법이 많은 만큼 PHP 가 많이 사용된다고
볼 수도 있지만 말입니다.

aero의 이미지

PHP쪽에서 인신공격이 도를 넘는 수준까지 가는 좀 심한 사건이 일어나서 확 드러났을 뿐이지 비단 PHP뿐만 아니라 다른 FOSS프로젝트에도 이러한 사건이 발생하지 말라는 법은 없는것 같습니다.

프로젝트 창시자/리더가 감히 범접하기 어려운 카리스마와 장악력을 가져서 감히 항거할 엄두를 못내니 불협화음이 없는경우도 있고 그냥 맘에 안들면 fork해서 나가는 경우도 있고...

하지만 앞으로 FOSS 프로젝트는 얼마나 그 산출물이 유용하냐도 중요하지만 어떻게 그 개발프로세스 자체를 민주적으로 구축해 나가냐도 큰 과제가 될듯합니다.

사회의 정치구조가 오늘날 민주사회 까지 발달해오는데는 아주 오랜시간과 변혁이 필요 했듯이 FOSS의 개발 프로세스는 탄생 역사가 길지 않은만큼 현실 사회가 겪은 각종 문제점과 변화를 그대로 겪으며 나름대로 가장 이상적인 구조를 찾아가리라 보입니다.

Necromancer의 이미지

xfree86도 분란이 있었죠.
그때 fork되서 나간게 xorg였고, 지금은 xorg를 대부분 쓰고 있죠.

Written By the Black Knight of Destruction

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

PHP가 생각보다 방대해서 보안 버그가 많이 발생할 수 있는 것 같습니다.
리포팅 된 패치를 반영하지 않는건 문제가 있지만요. -_-;
그렇지만 사실상 PHP 자체의 버그보다는 PHP 애플리케이션의 보안 버그가 훨씬 많습니다. (phpBB나 제로보드에는 알려진 구멍뿐만 아니라 알려지지 않은 구멍이 엄청나게 많죠.)

권순선의 이미지

/.에는 방금 떴네요. http://it.slashdot.org/article.pl?sid=06/12/14/0410240

요즘은 가만히 보면 /.이 많이 늦습니다... 예전 같지가 않아요...

정태영의 이미지

패치를 만들어 보낼 때는 뭔가 피드백이 있고, 원 소스트리에 포함될거란 기대가 있어서 보내는건데... php 쪽 버그질라는 패치를 보내도 별로 반응들도 없고 쉽게 포함시켜주지도 않더군요.

예전에 gd 에 fontconfig 기능이 포함되었을 때 fontconfig 를 사용할 수 있도록 하는 함수를 사용할 수 있도록 패치를 만들어보낸 적이 있는데, 무반응...

http://bugs.php.net/bug.php?id=31784

꽤 오래전에 보낸건데 아직도 투표수는 셋 그나마 하나는 제가 좀 전에 한 거니 흑흑;;

-------
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

익명사용자의 이미지


그런데 투표수가 7표로 늘어나있더군요;;;;

happychois의 이미지

만드는 쇼핑몰...PHP6로 만들고 있는데...
나를 자꾸 힘들게해...fire wall 설치해야하나...
-------------------------------
덤벼라 서버야 - _-)

-------------------------------
덤벼라 서버야 - _-)