A C tutorial

D

Dan Pop

In said:
Presumably, then, you are not claiming that gcc contains a back door. Fine.
So - I /had/ no reason not to trust gcc, and I /still have/ no reason not
to trust gcc. Nothing has changed, then. Good.

My claim is that gcc is the ideal target for such an attack. If, from my
claim you infer that you have no reason not to blindly trust gcc, then
fine. But then, you'll look like the king of the hypocrites when claiming
that you distrust software you cannot check for malicious code (an
attacked gcc is a piece of software you cannot check for malicious code,
even if the sources are available, as long as you use gcc to rebuild the
program).

Dan
 
M

Martin Dickopp

Then, pray tell, what was the whole sentence supposed to mean?

It was supposed to mean that the individual making the statement ("I")
many times ("often") systematically looks at ("read") computer
programs ("Software"), which have a license that provides certain rights
("Free"), in their preferred form for studying and modifying their
behavior ("source code"), and this fact demonstrates that it is false
("disproves") that less than a single individual ("no one") takes steps
to find malicious code in said programs ("is doing it").

Martin
 
D

Dan Pop

In said:
[email protected] (Dan Pop) said:
Then, pray tell, what was the whole sentence supposed to mean?

It was supposed to mean that the individual making the statement ("I")
many times ("often") systematically looks at ("read") computer
programs ("Software"), which have a license that provides certain rights
("Free"), in their preferred form for studying and modifying their
behavior ("source code"), and this fact demonstrates that it is false
("disproves") that less than a single individual ("no one") takes steps
to find malicious code in said programs ("is doing it").


OK, so you're confirming that you don't understand the word "if".

Dan
 
M

Martin Dickopp

In said:
[email protected] (Dan Pop) said:
(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


Mark McIntyre wrote:

BTW I bet you a groat you don't scan most programs for malicious code,
so your argument is spurious.

I disagree that the argument is spurious. It's true that I don't scan most
programs for malicious code; I don't have to, because - since they're Open
Source - lots of people have done this already,

How do you know it? If everyone reasons like you, no one is actually
doing it :) ^^

For the record, I often read the source code of Free Software, which
disproves that /no one/ is doing it. :) ^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Do you know what "if" means in English?

Suffice it to say that what I wrote contains no indication that I don't.
If you disagree, please be more elaborate.

Reread the underlined text above and explain what it was supposed to
mean.

The underlined text is not a complete sentence and was therefore not
supposed to mean anything by itself. Only the whole sentence was
supposed to have meaning.

Then, pray tell, what was the whole sentence supposed to mean?

It was supposed to mean that the individual making the statement ("I")
many times ("often") systematically looks at ("read") computer
programs ("Software"), which have a license that provides certain rights
("Free"), in their preferred form for studying and modifying their
behavior ("source code"), and this fact demonstrates that it is false
("disproves") that less than a single individual ("no one") takes steps
to find malicious code in said programs ("is doing it").


OK, so you're confirming that you don't understand the word "if".


I have done no such thing. It does not follow from my assertion that at
least one person checks source code for malicious code that I didn't
understand your statement. The only thing that does actually follow is
that it is false that everyone reasons like Richard Heathfield.

Since you have either failed or refused to explain what indicates that
I didn't understand the word "if", I can only concluse that even you
cannot find any such indication yourself.

Martin
 
D

Dan Pop

In said:
[email protected] (Dan Pop) said:
In said:
(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


Mark McIntyre wrote:

BTW I bet you a groat you don't scan most programs for malicious code,
so your argument is spurious.

I disagree that the argument is spurious. It's true that I don't scan most
programs for malicious code; I don't have to, because - since they're Open
Source - lots of people have done this already,

How do you know it? If everyone reasons like you, no one is actually
doing it :) ^^

For the record, I often read the source code of Free Software, which
disproves that /no one/ is doing it. :) ^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Do you know what "if" means in English?

Suffice it to say that what I wrote contains no indication that I don't.
If you disagree, please be more elaborate.

Reread the underlined text above and explain what it was supposed to
mean.

The underlined text is not a complete sentence and was therefore not
supposed to mean anything by itself. Only the whole sentence was
supposed to have meaning.

Then, pray tell, what was the whole sentence supposed to mean?

It was supposed to mean that the individual making the statement ("I")
many times ("often") systematically looks at ("read") computer
programs ("Software"), which have a license that provides certain rights
("Free"), in their preferred form for studying and modifying their
behavior ("source code"), and this fact demonstrates that it is false
("disproves") that less than a single individual ("no one") takes steps
to find malicious code in said programs ("is doing it").


OK, so you're confirming that you don't understand the word "if".


I have done no such thing. It does not follow from my assertion that at
least one person checks source code for malicious code that I didn't
understand your statement. The only thing that does actually follow is
that it is false that everyone reasons like Richard Heathfield.


But, since no one claimed or implied that everyone reasons like
Richard Heathfield, there was *nothing* to be disproved. Since you
seem to be believe that you have disproved something, the only conclusion
is that you don't understand the word "if".
Since you have either failed or refused to explain what indicates that
I didn't understand the word "if", I can only concluse that even you
cannot find any such indication yourself.

See above.

Dan
 
M

Martin Dickopp

In said:
[email protected] (Dan Pop) said:
(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


(e-mail address removed) (Dan Pop) writes:


Mark McIntyre wrote:

BTW I bet you a groat you don't scan most programs for malicious code,
so your argument is spurious.

I disagree that the argument is spurious. It's true that I don't scan most
programs for malicious code; I don't have to, because - since they're Open
Source - lots of people have done this already,

How do you know it? If everyone reasons like you, no one is actually
doing it :) ^^

For the record, I often read the source code of Free Software, which
disproves that /no one/ is doing it. :) ^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Do you know what "if" means in English?

Suffice it to say that what I wrote contains no indication that I don't.
If you disagree, please be more elaborate.

Reread the underlined text above and explain what it was supposed to
mean.

The underlined text is not a complete sentence and was therefore not
supposed to mean anything by itself. Only the whole sentence was
supposed to have meaning.

Then, pray tell, what was the whole sentence supposed to mean?

It was supposed to mean that the individual making the statement ("I")
many times ("often") systematically looks at ("read") computer
programs ("Software"), which have a license that provides certain rights
("Free"), in their preferred form for studying and modifying their
behavior ("source code"), and this fact demonstrates that it is false
("disproves") that less than a single individual ("no one") takes steps
to find malicious code in said programs ("is doing it").

OK, so you're confirming that you don't understand the word "if".


I have done no such thing. It does not follow from my assertion that at
least one person checks source code for malicious code that I didn't
understand your statement. The only thing that does actually follow is
that it is false that everyone reasons like Richard Heathfield.


But, since no one claimed or implied that everyone reasons like
Richard Heathfield, there was *nothing* to be disproved. Since you
seem to be believe that you have disproved something, the only
conclusion is that you don't understand the word "if".


I have in fact disproved something, namely that no one checks source
code for malicious code. I have done so even though no one has claimed
or implied it, and I have never claimed or implied that anyone has
claimed or implied it.

You seem to believe that only things which have previously been claimed
or implied can be disproven. That is not the case.

Martin
 
R

Richard Heathfield

Dan said:
My claim is that gcc is the ideal target for such an attack. If, from my
claim you infer that you have no reason not to blindly trust gcc, then
fine. But then, you'll look like the king of the hypocrites when claiming
that you distrust software you cannot check for malicious code (an
attacked gcc is a piece of software you cannot check for malicious code,
even if the sources are available, as long as you use gcc to rebuild the
program).

King of the hypocrites? No, not really. You see, I don't distrust GNU. But I
/do/ distrust Adobe. I am confident of GNU's good intentions. I am not
confident of Adobe's good intentions.
 
R

Richard Heathfield

Thomas said:
That is like saying C is not portable because you need special
software for each platform it needs to support.

And, in a way, that's true. (It's still /more/ portable than any other
language AFAIK.)
Tell me about one
platform which does not have and acrobat reader available and
you have ever found yourself in need of one.

<grin> That's easy; none, because I don't use PDF files (with the single
exception of the ISO C99 document, and I'm converting that to text anyway,
albeit slowly). Therefore, I don't need Acrobat Reader.
 
M

Mark McIntyre

<shrug> It is claimed that PDF documents are in a portable document format.
That's what PDF /stands for/. And yet PDF is clearly /not/ a portable
format, requiring as it does special readers which are not available on all
platforms.

I understand your point, I just think you're being blinded by
anti-proprietary-ism if you see what I mean.

Text files are no more portable than pdf, since they too require special
readers. You may disagree with this, but remember that even cat and more
are file readers, and without them you could not read a text file on unix.
if I can't read it, it's useless. Useless *to me*, that is.

And chinese text is useless to me. Your point is.... :)
To you, perhaps. Not to me.

my point exactly !
 
R

Randy Howard

Please elaborate. Which other pieces of Adobe software have bitten you
with their malicious code?

Perhaps a reminder that recently Adobe has gotten some flack for
introducing some "malware" into Acrobat reader that makes it
absolutely refuse to render certain graphic images, such as
US currency. No warning, no disclosure, it's just there. It
makes it load much, much slower while it scans the file looking
for such on each "fopen()".

Here is an example of such discussions:

http://www.pdfzone.com/news/767-PDFzone_news.html
 
R

Richard Heathfield

Mark said:
I understand your point, I just think you're being blinded by
anti-proprietary-ism if you see what I mean.

Text files are no more portable than pdf, since they too require special
readers. You may disagree with this, but remember that even cat and more
are file readers, and without them you could not read a text file on unix.

Yes, I could - using vim, or emacs, or ed, or less, or joe, or pico, or even
grep! Or I could simply write a simple cat:

#include <stdio.h>
int main(void)
{
int ch;
while((ch = getchar()) != EOF)
{
putchar(ch);
}
return 0;
}

You see, text fits in with the C model very well indeed. It's easy to write
text processors in C.

And chinese text is useless to me. Your point is.... :)

....that the fewer constraints one puts on one's intended audience, the wider
that audience can be.
 
C

Christian Bau

Richard Heathfield said:
Presumably, then, you are not claiming that gcc contains a back door. Fine.
So - I /had/ no reason not to trust gcc, and I /still have/ no reason not
to trust gcc. Nothing has changed, then. Good.

I'm not quite sure, but I think it might have been Kernighan who
described how to add an invisible backdoor to a compiler.

(Start with a compiler X. Based on X, write a modified compiler Y that
will recognise (a) your favorite password checking function and (b) the
code generation of compiler X, and replace them with modified code that
does exactly the same thing. Compile the compiler Y with X and you get a
compiler that adds backdoors to compilers and password checking
functions. Compile X with the result and the object code will still
install backdoors. Distribute X and the compiled compiler with backdoors
widely. )
 
R

Richard Heathfield

Christian said:
I'm not quite sure, but I think it might have been Kernighan who
described how to add an invisible backdoor to a compiler.

No, it was definitely ken (Ken Thompson). Google for "Reflections on
Trusting Trust".
 
M

Mark McIntyre

Presumably, then, you are not claiming that gcc contains a back door. Fine.
So - I /had/ no reason not to trust gcc, and I /still have/ no reason not
to trust gcc. Nothing has changed, then. Good.

Hmm. I'm puzzled here.

You seem to be saying that because someone else tested software X and
reported no issues, you're prepared to trust it. But software Y, which
coincidentally happens to be commercially produced, you don't trust, for
precisely the same reason.

And even though software X is potentially modifiable by all and sundry and
thus vulnerable to malicious additions, whereas software Y is not so
vulnerable, you don't feel any need to check software X yourself, but won't
use software Y.

I think you need to explain more clearly. Your logic seems more like
disestablishmentarianism to me.

On second thoughts, don't bother. I'm pretty convinced that your *real*
reason is quite different, and something more akin to a mania than logic.
No offense I hope. I'm similarly maniacal about good guitarists.
 
M

Martin Dickopp

Mark McIntyre said:
You seem to be saying that because someone else tested software X and
reported no issues, you're prepared to trust it. But software Y, which
coincidentally happens to be commercially produced, you don't trust, for
precisely the same reason.

I trust software once the source code has been inspected by a reasonable
large number of different independent parties. This is the case for
some (but not all) free software, but it is never the case for proprietary
software, simply because the source code is not available to enough
independent parties.

Whether or not the software is commercial makes no difference to me.
And even though software X is potentially modifiable by all and sundry
and thus vulnerable to malicious additions, whereas software Y is not
so vulnerable,

I believe it is /much/ easier to sneak malicious code into proprietary,
closed-source software than into the source code of free software, where
everybody could immediately see it.

Just because it's legal to distribute modified versions of free software,
but illegal to do the same with proprietary software, doesn't mean it's
also technically more difficult to modify proprietary software.
you don't feel any need to check software X yourself, but won't
use software Y.

I think you need to explain more clearly. Your logic seems more like
disestablishmentarianism to me.

I find Richard's logic quite convincing. :)

Martin
 
R

Richard Heathfield

Mark said:
Hmm. I'm puzzled here.

You seem to be saying that because someone else tested software X and
reported no issues, you're prepared to trust it.

No, sir. I already trusted gcc. Dan raised a possible bugbear, but then
scotched it again. Situation is as before.

But software Y, which
coincidentally happens to be commercially produced, you don't trust, for
precisely the same reason.

No. I trust gcc partly because of the million eyes, but mainly because I
firmly believe that GNU have the interests of the programming community at
heart. I don't have the same faith in Adobe.

<snip>
 
R

Richard Bos

Richard Heathfield said:
No. I trust gcc partly because of the million eyes, but mainly because I
firmly believe that GNU have the interests of the programming community at
heart.

You _have_ read the GCC man pages, haven't you? I refer in particular to
their comments about -pedantic.
I don't have the same faith in Adobe.

Neither do I, but at least if Adobe turn out to be criminals rather than
merely scummy weasels we can sue them.

Richard
 
D

Dan Pop

In said:
You seem to believe that only things which have previously been claimed
or implied can be disproven. That is not the case.

I merely don't see the point in disproving things no one has claimed or
implied. Unless you enjoy talking alone...

Dan
 
D

Dan Pop

In said:
King of the hypocrites? No, not really. You see, I don't distrust GNU. But I
/do/ distrust Adobe. I am confident of GNU's good intentions. I am not
confident of Adobe's good intentions.

Non sequitur and a proof that you have understood nothing of this issue.

GNU distributes source code, not binaries. It is the distributor of the
binary that can implement the hack I was talking about, for the simple
reason that it doesn't exist in the distributed source code. Therefore,
GNU's intentions, either good or bad, have nothing to do with this
discussion.

Dan
 
D

Dan Pop

In said:
Perhaps a reminder that recently Adobe has gotten some flack for
introducing some "malware" into Acrobat reader that makes it
absolutely refuse to render certain graphic images, such as
US currency. No warning, no disclosure, it's just there. It
makes it load much, much slower while it scans the file looking
for such on each "fopen()".

Here is an example of such discussions:

http://www.pdfzone.com/news/767-PDFzone_news.html

Your example talks about Adobe Photoshop and the change in question does
not qualify as malicious code.

So, what was your point?

Dan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,608
Members
45,241
Latest member
Lisa1997

Latest Threads

Top