Lawsuit-I'm famous!!! (fwd)
Interesting background to the below lawsuit: the plaintiff in question is about as straight as you can possibly be while still breathing :-) No drugs *at all*. He's not even into the legal drugs! Nevertheless, he's a long time GoodGuy, and this is just another example. Thanks CR! -- Yours, J.A. Terranson [EMAIL PROTECTED] If Governments really want us to behave like civilized human beings, they should give serious consideration towards setting a better example: Ruling by force, rather than consensus; the unrestrained application of unjust laws (which the victim-populations were never allowed input on in the first place); the State policy of justice only for the rich and elected; the intentional abuse and occassionally destruction of entire populations merely to distract an already apathetic and numb electorate... This type of demogoguery must surely wipe out the fascist United States as surely as it wiped out the fascist Union of Soviet Socialist Republics. The views expressed here are mine, and NOT those of my employers, associates, or others. Besides, if it *were* the opinion of all of those people, I doubt there would be a problem to bitch about in the first place... -- Forwarded message -- Date: Thu, 7 Nov 2002 22:45:51 EST From: [EMAIL PROTECTED] To: undisclosed-recipients: ; Subject: Lawsuit-I'm famous!!! Text of Article 78 lawsuit filed against Division regarding drug testing policy By: Board of Directors, Date: 2002-10-29 STATE OF NEW YORK SUPREME COURT COUNTY OF ALBANY __ DANIEL M. DeFEDERICIS; DON POSTLES; GORDON D. WARNOCK; THOMAS P. POMEROY; JOHN P. MORETTI, JR.; JAMES C. MONTY; GARY N. OELKERS; ROBERT A. KOTIN; JEFFREY J. KAYSER; JAMES NEEDHAM, JR.; KEITH L. FORTE; ERIC J. CHABOTY; ROBERT P. HOVEY; and THE POLICE BENEVOLENT ASSOCIATION OF THE NEW YORK STATE TROOPERS, INC., on behalf of its Members, Petitioners-Plaintiffs, For a Judgment Pursuant to Article 78 of the Civil Practice Law and Rules PETITION/COMPLAINT - against – NEW YORK STATE DIVISION OF STATE POLICE; JAMES W. McMAHON, as Superintendent of the New York State Division of State Police, Respondents-Defendants. __ Petitioners/plaintiffs, by their attorneys, Gleason, Dunn, Walsh O'Shea, and for their Verified Petition/Complaint, respectfully allege upon information and belief: INTRODUCTION 1. This is a combined Article 78 proceeding and declaratory judgment action challenging the legality of certain policies and procedures (denominated regulations) recently adopted and implemented by the respondents prohibiting sworn Members of the Division of State Police (Division) from the otherwise legal use of lawful, commercially available products and substances, including foods, cosmetics and health care products that contain the derivatives or active ingredients of any illegal drug. Such legal and widely available commercial products include rolls, bagels and bakery products containing poppy seeds and over-the-counter pain medications and cold medicines as well as other products. 2. This proceeding/action also challenges that aspect of the Division's regulations which provide that the ingestion or use of these otherwise legal, consumer products is no defense to a positive drug test. That aspect of the regulation unilaterally deprives Members of the Division of a legitimate and valid defense to disciplinary charges alleging the use of illegal drugs. As such, the regulation improperly affects and limits their ability to protect their property rights in their jobs. 3. Petitioners/plaintiffs assert that this regulation is inconsistent with and violative of New York Labor Law §201-d and the New York State and United States Constitutions. PARTIES 4. Petitioner/plaintiff The Police Benevolent Association of the New York State Troopers, Inc. (PBA), is the certified and recognized employee organization which represents the bargaining unit consisting of all Troopers of the Division of State Police and the bargaining unit consisting of all commissioned and non-commissioned officers of the Division of State Police. 5. Petitioner/plaintiff, Daniel M. DeFedericis, is the President of the PBA. President DeFedericis is currently on leave from his employment with the Division, but upon returning from his leave will be subject to the challenged regulation. 6. Petitioner/plaintiff, Don Postles, is the Vice President of the PBA. Vice President Postles is currently on leave from his employment with the Division, but upon returning from his leave will be subject to the challenged regulation. 7. Petitioner/plaintiff, Gordon D. Warnock, is the Secretary of the PBA. Secretary Warnock is currently on leave from his employment with the Division, but upon returning from his leave will be subject to the challenged
Re: Did you *really* zeroize that key?
At 02:22 PM 11/8/2002 +, Vincent Penquerc'h wrote: On Fri, Nov 08, 2002 at 08:35:06AM -0500, Patrick Chkoreff wrote: That's an interesting idea. You'd take the pointer returned by alloca and pass it to memset. How could the optimizer possibly know that the pointer With GCC, it's a builtin, so it will know. Gotcha. I was thinking the only way to really stymie the optimizer might be to have the program flow depend on something read from a file! You could have a file with a single 0 word in it. At the beginning of your program, just one time, you say this: I'm afraid optimizations could remove this too. The point, if I understand it correctly, is that operations on memory have, from the compiler's POV, a zero lifetime, since the block is freed just afterwards. So, whether you write zero or anything else there, this write can be discarded, since it's not used afterwards. Dead write, kind of. You got me thinking again, and I think you're right. Allow me to simulate the optimizer's thinking. Here's the original code: if (!fool_opt) sensitive = 0; if (!sensitive) die_horribly_because_this_should_never_happen(); Here is a logical equivalent: if (fool_opt) { if (!sensitive) die_horribly_because_this_should_never_happen(); } else { sensitive = 0; if (!sensitive) die_horribly_because_this_should_never_happen(); } Now the compiler can optimize the else case as follows: if (fool_opt) { if (!sensitive) die_horribly_because_this_should_never_happen(); } else { die_horribly_because_this_should_never_happen(); } This is logically equivalent to: if (!fool_opt || !sensitive) die_horribly_because_this_should_never_happen(); So you're correct, the compiler can view the sensitive = 0 statement as a dead write as you say. DOH!!! :-o So it sounds like Welschenbach's var-arg trick is still the best bet at this point for a portable zeroize technique. -- Patrick http://fexl.com
Re: Did you *really* zeroize that key?
At 10:20 AM 11/8/2002 +, Vincent Penquerc'h wrote: On Thu, Nov 07, 2002 at 07:36:41PM -0500, Patrick Chkoreff wrote: Everybody probably also knows about the gnupg trick, where they define a recursive routine called burn_stack: [...] Then there's the vararg technique discussed in Michael Welschenbach's book Cryptography in C and C++: How about a simple alloca/memset ? Though it would possibly be more subject to `optimizations'. -- Vincent Penquerc'h That's an interesting idea. You'd take the pointer returned by alloca and pass it to memset. How could the optimizer possibly know that the pointer pointed right into the stack frame? For all the compiler knew, the pointer might point to some device block somewhere, so the compiler would not dare remove the memset. UNLESS the compiler knew about alloca and by data flow analysis could establish that the pointer still pointed to the stack frame at the time of the memset. So yeah, it might indeed be subject to optimizations. I was thinking the only way to really stymie the optimizer might be to have the program flow depend on something read from a file! You could have a file with a single 0 word in it. At the beginning of your program, just one time, you say this: unsigned int fool_opt; FILE *fp = fopen(); fread(fool_opt,sizeof(unsigned int),1,fp); The compiler has no idea there's a zero in fool_opt. Now when you want to zero-out a variable, you'd say something like this: unsigned int sensitive; sensitive = result_of_bizarre_encryption(); /* Now let's zero out the sensitive variable. */ if (!fool_opt) sensitive = 0; if (!sensitive) die_horribly_because_this_should_never_happen(); The die horribly routine would do something like this: fprintf(stderr,Yikes!\n); exit(255); I guarantee you, there is no way on earth an optimizer can get past that one!! -- Patrick http://fexl.com
Re: Did you *really* zeroize that key?
David Honig [EMAIL PROTECTED] writes: Wouldn't a crypto coder be using paranoid-programming skills, like *checking* that the memory is actually zeroed? (Ie, read it back..) I suppose that caching could still deceive you though? You can't, in general, assume the compiler won't optimise this away (it's just been zeroised, there's no need to check for zero). You could make it volatile *and* do the check, which should be safe from being optimised. It's worth reading the full thread on vuln-dev, which starts at http://online.securityfocus.com/archive/82/297827/2002-10-29/2002-11-04/0. This discusses lots of fool-the-compiler tricks, along with rebuttals on why they could fail. Peter.
Re: Did you *really* zeroize that key?
On Thu, Nov 07, 2002 at 07:36:41PM -0500, Patrick Chkoreff wrote: Everybody probably also knows about the gnupg trick, where they define a recursive routine called burn_stack: [...] Then there's the vararg technique discussed in Michael Welschenbach's book Cryptography in C and C++: How about a simple alloca/memset ? Though it would possibly be more subject to `optimizations'. -- Vincent Penquerc'h
Re: Did you *really* zeroize that key?
At 02:22 PM 11/8/2002 +, Vincent Penquerc'h wrote: while (!is_all_memory_zero(ptr)) zero_memory(ptr); Right, unfortunately the compiler might be insightful enough just to optimize that whole thing to skip() -- Dijkstra's null statement. Even Welschenbach calls ispurged immediately after purgevars to make sure the memory is actually zero. The ispurged routine is also defined using va_list, and if you turn on assertion checking it dies if the memory is nonzero. The problem is you NEVER KNOW if the compiler is just being clever and optimizing the assertion away, e.g.: sensitive = 0; if (sensitive) abort(); The compiler will simply know to optimize this whole thing to skip(). However, it is highly unlikely the compiler will be able to see through va_list manipulations. This problem is a real bear. I guess you just have to check the assembler output, eh? -- Patrick http://fexl.com
Re: Aussies to censor web
A police ministers meeting in Darwin this week agreed it was unacceptable websites advocating or facilitating violent protest action be accessible from Australia. This is just a CIA psyop to make US look good. USA and China. = end (of original message) Y-a*h*o-o (yes, they scan for this) spam follows: U2 on LAUNCH - Exclusive greatest hits videos http://launch.yahoo.com/u2
[Anonymity, Blacknet, Mil secrecy] Photos in transport plane of prisoners
Note that the Cypherpunks Image/Postscript Document Examination Laboratories should be able to amplify some of the (US; the unPOWs are black-bagged) faces in the pix.. Pentagon Seeks Source of Photos By PAULINE JELINEK Associated Press Writer WASHINGTON (AP)--The Pentagon was investigating Friday to find out who took and released photographs of terror suspects as they were being transported in heavy restraints aboard a U.S. military plane. Four photographs of prisoners--handcuffed, heads covered with black hoods and bound with straps on the floor of a plane _ appeared overnight on the Web site of radio talk show host Art Bell. ``Anonymous mailer sends us photos taken inside a military C-130 transporting POWS,'' the headline said. http://www.ocnow.com/news/newsfd/shared/news/ap/ap_story.html/Washington/AP.V7764.AP-Guantanamo-Pris.html