Dette indlæg er alene udtryk for skribentens egen holdning.

En CVE før det var hipt med CVE'er

10. februar kl. 10:2119
Artiklen er ældre end 30 dage

Søren har scannet et herligt gammelt dokument til vores bitakriv i Datamuseum.dk.

Fordi dokumentet handler om en computer der står mit hjærte nær (RC3600/RC7000), kiggede jeg det igennem og til min store overraskelse dokumenterer forfatterne et buffer-overflow på de to sidste sider:

Illustration: Datamuseum.dk (30004185).
Illustration: Datamuseum.dk (30004185).

Hat tip til Normann Aa. Nielsen og Bent Brun Kristensen!

Det lader til at fejlen blev rettet, når jeg prøver i vores RC3600 emulator får jeg:

Artiklen fortsætter efter annoncen

ATT COMAL    

REV. 02.04 

* 10 PRINT "HELLO WORLD"    

* LIST    

0010 PRINT "HELLO WORLD"    

* ;"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((",,,,,"(((((((((("  

ERR : 0036    

PRINTELEMENT FOR LANGT

Hele dokumentet kan læses her.

phk

19 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
18
14. februar kl. 08:15

Der manglede input validering en masse steder. I ungdomsskolen havde vi EDB kursus på Seminarieskolen i Haderslev, vi lærte Comal-F73

det var en ældre datamat, Alpha LSI-2 med lysdioder der viste indholdet af programhukommelsen. For at lave opstart skulle man først ind og trykke noget på hex-tastaturet for at få den til at gå til bootloader. Der var hele 3 terminaler koblet til den, så ægte multi-user/tasking.

Hvis vi ændrede en af parametrene til bootloader under opstart , så kørte det hele MEGET hurtigere, men med risiko for crash. Alle var glade indtil maskinen crashede og nogle ikke havde gemt. Den crashede altid når vi havde ændret parameteren. Spørgsmålet var bare om der gik 10 minutter eller 1 time.

Vi lærte at når vi skulle gemme data på ungdomsskolens 8" floppy disk, så kunne man bruge kontroltegn i filnavnet, så andre ikke kunne åbne/slette filen. ^G var bell, så den larmede. Men ^H var også god, da det var backspace, så den skjulte det forudgående tegn når man lavede en DIR. Så var vi sikre på at vores programmer overlevede til næste gang vi kom. Ingen inputvalidering. Hvis man blev betroet med en tastatur havde man vel læst brugsanvisningen og var troværdig.

Der var også hulstimmel så man lige kunne få sit program med hjem på en rulle blå papir, og stregkort, så man kunne sidde og programmere derhjemme md en sort tusch til at strege tegnene over.

11
13. februar kl. 11:53

Hvis jeg må kommentere... Min ven Bent Brun Kristensen og jeg gik på Vestfyns Gymnasium i 1976-1979. På gymnasiet stod der en RC7002 med hustrimmellæser, hulstrimmelpuncher, 1 skærm, ingen disk, 1 printer og 1 hulkortlæser. Bent og jeg var meget nørdede sammen, og hang meget - utroligt meget! - ud i EDB-rummet i alle frikvarterer, og for mit vedkommende, efter skoletid. Da der ikke var nogen egentlig dokumentation, så skrev jeg i sommerferien 1977-78 (efter hukommelsen) det omtalte skrift. Bent deltog kun med nogle sider, men da han jo havde været meget med, var han naturligvis nævnt som medforfatter.

Efter gymnasiet fortsatte jeg til Aarhus Universitet (datalogi), men Bent gik videre på Odense Universitet, og endte op med at være praktiserende læge, i Toftlund så vidt jeg ved. Han har derfor - navnesammenfaldet til trods - ikke noget med den anden Bent Brun, og han nørder kun almindeligt med IT disse dage. For mit eget vedkommende, så er jeg IT-arkitekt i Region Syddanmark.

Og rigtig sjovt at se alle kommentarerne - det glæder mig, for COMAL II var mit første egentlige computersprog.

16
13. februar kl. 12:58

Min ven Bent Brun Kristensen og jeg gik på Vestfyns Gymnasium i 1976-1979. På gymnasiet stod der en RC7002 med hustrimmellæser, hulstrimmelpuncher, 1 skærm, ingen disk, 1 printer og 1 hulkortlæser. Bent og jeg var meget nørdede sammen, og hang meget - utroligt meget! - ud i EDB-rummet i alle frikvarterer, og for mit vedkommende, efter skoletid.

Jeg gik på Greve Gymnasium i samme periode, og den havde også en RC7000, men uden skærm (men ellers det samme udstyr). Jeg og nogle få andre elever brugte også mange frikvarterer i EDB-rummet. Det var nok de oplevelser, der gjorde, at jeg endte med at læse Datalogi. En af de lidt ældre blev også Datalog, og var med til at skrive UniCOMAL fortolkeren. En anden tog bifag i Datalogi og er nu professor på ITU, og en tredje blev EDB-assistent. Jeg har sikkert glemt nogen, men gymnasiets RC7000 computer fik i hvert fald langvarig betydning for flere af os.

15
13. februar kl. 12:09

Bent og jeg var meget nørdede sammen, og hang meget - utroligt meget! - ud i EDB-rummet i alle frikvarterer, og for mit vedkommende, efter skoletid.

Hvis du har abstinenser har vi en kørende RC3600 med COMAL i datamuseum.dk i Hedehusene.

Vi har også en software-emulering som ikke kræver at man transporterer sig til indkantsdanmark :-)

Du siger bare til :-)

5
11. februar kl. 22:26

Ifølge det linkede dokument kører de herrer ikke RCBASIC/COMAL men

SOS COMAL II LANGUAGE (STRUCTURED BASIC) REV. UDGIVET AF A/S REGNECENTRALEN I SAMARBEJDE MED DATAAFDELINGEN VED TONDER STATSSEMINARIUM.

VAERTSSPROG: DATA GENERAL SOS X. "BASIC RE.

Hvilket kunne forklare, at det virker i RCBASIC 2.04

4
11. februar kl. 13:42

Hej Poul-Henning Mener du ikke Bent Bruun Kristensen (med to u'er)? I så fald er der tale om en lektor på AUC der kom fra AAU og bl.a. var medforfatter til Beta progammerings sproget. Han gav mig iøvrigt min første betalte programmeringstjans :)

12
13. februar kl. 11:54

Jeg har lagt en lille kommentar herom :-)

19
14. februar kl. 12:45

Det så jeg Normann. Mange tak. Meget interessant historie og godt at få det fra en der faktisk var der :) (i '77/78 rendte jeg rundt i grønt tøj og stålhjelm - mødte den anden BBK i '83, hvor jeg fik en tjans med bl.a. at implementerer en effektiv bitblt på den dengang nye IBM PC - er også arkitekt idag)

7
11. februar kl. 22:54

Mener du ikke Bent Bruun Kristensen (med to u'er)? I så fald er der tale om en lektor på AUC der kom fra AAU

Det kan jeg ikke få til at passe med at gå på gymnasium i 1977 ?

8
12. februar kl. 16:59

Jeg gir mig. BBK udgav sin første artikel i '73, men et spøjst næsten navnesammenfald er det :)

6
11. februar kl. 22:37

Bent Bruun Kristensen

Negativ - han underskriver sig i dokumentet med et 'u'

2
10. februar kl. 17:28

Er du sikker på at det skulle udføres i BASIC for at reproducere fejlen?

3
11. februar kl. 12:49

Er du sikker på at det skulle udføres i BASIC for at reproducere fejlen?

Nøh, det er nok derfor, der står COMAL i første linje af programmet;)

Jeg kender heldigvis intet til COMAL - udover at det var dansk og mindede en del om BASIC. (I førhistorisk tid var det almindeligt at indbygge en BASIC/COMAL-fortolker i "konsollen".)

9
12. februar kl. 21:40

Ah. Selvf.. Magnus.. tsk tsk. Læs dog hvad der står :D Er vi sikre på at det er COMAL der kan reproduceres?

Jeg hæfter mig ved er der står i beskrivelsen at:

" _ blokerer _ ligger i, at under compilationen udfører maskinen ikke programmet"

Her lydder det som om at der compileres et program og at inputtet evt. sendes til en eksisterende function i ROM.

Det kunne jo være at fejlhåndteringen kun eksisterer i COMAL fortolkeren og at den dermed mangler i print funtionen.

13
13. februar kl. 11:56

Jeg vidste på dette tidspunkt ikke noget om forskellen mellem fortolkning og compilering. Jeg havde hørt noget, så det brugte jeg uhæmmet (lidt lige som jeg gør i dag).

17
14. februar kl. 05:43

Ah ok.

Det må have været meget interessant dengang. Jeg var selv meget grebet af min C64 som var min første computer da jeg var dreng tilbage i 80'erne. Skrev en del basic programmer på den.

10
13. februar kl. 08:52

Her lydder det som om at der compileres et program og at inputtet evt. sendes til en eksisterende function i ROM.

Der er ingen ROM memory i en RC7000, kun core-memory.

14
13. februar kl. 11:58

Korrekt, begge to, men en 17-årig i 1977 vidste ikke bedre. Siden (på universitetet) fik jeg mere viden om RC7002, også kaldet en NOVA-1200 :-)

1
10. februar kl. 12:37

Dejlig historie.

God praksis tilskriver vel i øvrigt, at der bør oprettes en "rigtig" CVE, eftersom fejlen falder ind under kategorien "sårbarhed" - også selv om datamaten formelt har nået "EOL".

Nå, jeg overså lige, at fejlen blev rettet - og så er det jo mindre relevant.

-- Jakob