display first page of pdf as image in c# : Add fields to pdf application Library tool html asp.net web page online 87672120-part805

Turnito: Identifying and Fixing a Hole in
Current Plagiarism Detection Software
James Heather
Abstract
In recent times, plagiarismdetection software hasbecomepopularin
universities and colleges, in an attempt to stem the tide of plagiarized
studentcoursework. Suchsoftwareattemptstodetectanycopiedmaterial
and identify its source. The most popular such software is Turnitin, a
commercial system used by thousands of institutions in more than one
hundredcountries.
Here we show how to x a loophole inTurnitin’scurrent plagiarism
detection process. We demonstrate that, inits current incarnation, one
caneasilycreate adocumentthatpassestheplagiarismcheckregardless
ofhow much copied material itcontains; we thenshowhow to improve
the systemtoavoidsuchattacks.
1 Introduction
Plagiarismisnota modern phenomenon. Controversiessurroundingplagiarism
stretchbackatleastasfarasNewtonandLeibnizandtheoriginofcalculus; and
Shakespearehasbeenaccusedofcopying fromMarlowe, Heywood,Chaucerand
others. Thetemptationtondone’sfameandsuccessbystanding,unconfessed,
on the shoulders ofgiants isnot a new one.
The battleground haschanged markedly in recent times, however, owing to
thegrowthoftheInternet. Onecanndsourcestocopywithaquickwebsearch,
where beforeone would havehad to search more diligentlythrough books and
journals; one can appropriate the text with a quick copy-and-paste operation,
where before one would have had to type (or hand-write) the text out. But
detection and conviction are also markedly easier: as any academic knows, a
websearch on asuspectphrasewilloftenndthesourceoftheplagiarizedpart
of theessay.
As a result, recent years haveseen theriseof plagiarismdetection software,
specicallydesignedtotakeinsubmissionsofstudent(orother)workandcheck
for copied content. These are designed to allow lecturers to discover with ease
when students have copied fromeach other or fromother sources.
Alarge number of universities and colleges now have some such system in
place. Often the plagiarismdetection softwareislinkedto the system students
arerequiredto useforsubmitting their work, so that any worksubmittedelec-
tronically isautomaticallychecked forplagiarism, and some sortof measure of
similarity to other work in the system’s database is returned to the operator.
Submissions witha high scorecan then be checkedin moredetail.
1
Add fields to pdf - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
pdf form maker; add submit button to pdf form
Add fields to pdf - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
add picture to pdf form; pdf forms save
It should be acknowledgedfrom thestartthat plagiarismistrickyto dene
and sometimes dicultto analyze. Itis increasingly recognizedthatthewhole
notionofplagiarismis aculturallydependentone(Guand Brooks2008;Currie
1998), and that the boundaries between plagiarism and the normal learning
process are not always clear cut (Pennycook 1996). Many of our assumptions
about student behaviour are based on Western culture, and do not suciently
take into account thediculties overseas students may face when studying in
Western institutions (Hayes and Introna 2005). Plagiarism, therefore, always
needstobedealtwithcarefullyandsensitively, andnot all casestreated in the
same manner andwith the same severity.
For the purposes of this paper, however, we will be considering plagiarism
of the most deceptive kind: intentional plagiarism, with a conscious eort to
cover one’s tracks. It is ourcontention that avoiding detection is rather easier
than commonly believed; and that unless improvements are made to current
plagiarism detection technology, we are in danger of identifying and punishing
the lower level cases while allowing the most serious oences to slip through
undetected.
1.1 Plagiarism detection software
Webegin by brie yconsidering several available plagiarism detection systems,
and thenlooking athow such systems operate.
1.1.1 Current systems
Thereareseveral plagiarismdetectionsystemsavailable, with varyingfunction-
ality.
The most comprehensive survey of existing systems is to be found in a
study (Scaife 2007) of eleven plagiarism detection systems, commissioned by
the UK’s Joint Information Systems Committee Plagiarism Advisory Service
(JISC-PAS), conducted for JISC-PAS by the NCC Group. The study high-
lighted four complete plagiarism detection suites: Ephorus Suite, written by
Ephorus
1
; MyDropBox/SafeAssign, developed by Blackboard
2
; Turnitin, cre-
ated byiParadigms, LLC
3
;andUrkund, byPrioInfo AB
4
.
All four of these suites search not only web sites, but also all previously
received submissions. When a student submits an essay, it is checked against
previous submissions as well as other potential sources; this helps to identify
students who copy from each other on the samepiece of work. Ephorus, My-
DropBox and Turnitin all have modules that support integration with various
popular course management systems so that all student submissions can be
analyzed for plagiarism automatically. (Urkund operates in a rather dierent
fashion: it is an email-based service.) All four also allow submission in various
formats, including Microsoft Word documents orPDF les; and sinceanything
that can be printed can also be turned into a PDF document, this eectively
encompassesall electronicdocuments.
1
http://www.ephorus.com/home
2
http://www.safeassign.com/
3
http://www.turnitin.com/
4
http://www.urkund.com/
2
C# PDF Form Data Read Library: extract form data from PDF in C#.
Add necessary references: RasterEdge.Imaging.Basic.dll. C#.NET Demo Code: Retrieve All Form Fields from a PDF File in C#.NET.
change text size pdf form; add email button to pdf form
VB.NET PDF Form Data Read library: extract form data from PDF in
Add necessary references: RasterEdge.Imaging.Basic.dll. using RasterEdge.XDoc.PDF; Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
adding images to pdf forms; change font pdf form
Despitethesesimilarities, the JISC-PASstudyunequivocally recommended
Turnitin as their system of choice. The result of the study was that Turnitin
came top in every category that the NCC investigated. In consequence, JISC-
PAS now maintains on its web site
5
that
Turnitin is the global leader in electronic plagiarism detection,
is atried andtrustedsystem and over 80%of UK universities have
adoptedit.
Turnitin isequallystrong in theUSA, whereitisemployedat, to namebut
afew institutions, GeorgetownUniversity,Miami DadeUniversity, Auburn, and
UCLA; and in over one hundred other countries, including Canada, Australia
and Singapore. Turnitin claims on its web site that it has so far checked over
75 millionsubmissions forplagiarism.
InviewofTurnitin’sdominanceinthemarketplace,therestofthispaperwill
focus largely on avoiding detection in Turnitin; however, the various methods
weshall employ areall general enough thattheywill workon any system that
operatesin the samefashion as Turnitin.
1.1.2 How such systems work
Plagiarismdetection softwaretypicallyoperates inthreedistinctstages:
1. extract the text from the document (usually a PDF or Microsoft Word
document);
2. search forthetext online and (possibly) ina customized database;
3. quantifytheextenttowhichextractedtextcouldbefoundinothersources,
anddisplayresults.
It is perhaps the second stage that is themost complex and is usually consid-
ered the most dicult. Searches have to be able to cope with text where the
occasional word has been changed, so it is not enough simply to take whole
sentencesandattemptto ndthemelsewhere. Performingsuch‘fuzzy’searches
in a reasonable timeframe, with a large corpus of searchable material, is not
easy.
However, itistherststep|extraction ofthetext|thatismostvulnerable
to attack.
Section 2 will considerhow onecan submita plagiarizeddocumentwithout
being detected, by producing thedocument asa PDF that looks and printsas
normal butthatinhibitsextractionofthetext. WethenargueinSection3 that
with thecurrent approach to text extraction, there is a very high chance that
such a rogue submission will pass undetected. In Section 4, we show how to
harden the text extraction phase to defeat such attacks. Wesum up and draw
conclusions inSection 5.
2 Avoiding detection
Plagiarismdetection softwareworks by extracting thetext fromthedocument
being checked, and comparing the text with other sources (from a customized
database, or fromtheInternet, or both).
5
http://www.jiscpas.ac.uk/turnitinuk.php
3
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
add fillable fields to pdf; create a fillable pdf form online
VB.NET PDF insert image library: insert images into PDF in vb.net
VB.NET PDF - Add Image to PDF Page in VB.NET. Guide VB.NET Programmers How to Add Images in PDF Document Using XDoc.PDF SDK for VB.NET.
change font size in pdf form field; chrome save pdf with fields
Ligatured (1 glyph)
Unligatured (3 glyphs)
Figure1: Ligatures
Avoiding detection involves attacking this rst step: ifwecan stopthetext
from being properly extracted from the document, without aecting how the
document looks and prints, then the software will not be able to identify any
plagiarized material inthedocument.
We demonstrate in this section how one may modify a document to be
submitted for a plagiarism check, so that any plagiarism in the document will
goundetected. All threeofthemethodspresentedherearetrivialtoimplement,
andrequirenospecialsoftwarebeyondwhatisfreelyavailablefordownloadfrom
theInternet.
In all threemethods, what is ultimately produced for submissionis a PDF.
The rst method involves creating the PDF using the pdfLAT
E
X typesetting
system; thesecondand thirdallowitto beproduced using anyword processing
or typesetting system, including Microsoft Word.
2.1 Modifying the character map
Text in a PDF is typically stored as a sequence of Character Identiers, or
CIDs. These CIDs are treated as pointers to the character glyphs (lines and
curvesdescribingtheshapesofthecharacters)thatmakeupthefont. Rendering
thedocumentto screenorprinterinvolves looking theCIDup in thefonttable
and placing the glyph on the page at the appropriatepoint.
These CIDs do not in every case denote individual letters of the alphabet.
Sometimesfontsemployligatures toimprovetheappearanceofprinted text. In
the word ‘stung’, for instance, the character sequence ‘ffi’ will in many fonts
rendered as a single symbol (Figure 1). Fonts also do not all havetheir glyphs
storedinthesameorder. As aresult, itisdicultto extract thetextfromjust
theCIDsand glyphs.
Forthis reason, a PDF also typicallycontains a further mapping|a Char-
acter Map, or CMap|to enablereconstruction ofthe text. This is a mapping
from CIDs to character codes (or sequences of character codes in the case of
ligatures); and these character codes do unambiguously represent individual
characters of the text.
Onesimpleapproachtoavoidingextractionofthetextisthereforetomodify
theCMap. Swappingtheentriesthatpointto thecharactercodesfor‘x’ andfor
‘y’ will result in a PDF that looks and printsas before (becausetheCIDs and
glyphs have notbeen altered), butthat has instances of ‘x’ and‘y’ swapped in
theextractedtext. Applying arandomreassignmentoftheentries will produce
completelygarbledextracted text throughout the document.
DocumentsthataretypesetinpdfLAT
E
X(suchasthispaper)caneasilyhave
theirCMap altered. Astandard LAT
E
X2
"
package, cmap, allows oneto place a
customCMapinto a document. Inthemainle, one needs only
4
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
create a form in pdf from word; best way to make pdf forms
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
add editable fields to pdf; add text field to pdf acrobat
\usepackage[resetfonts]{cmap}
to ask pdfLAT
E
Xto inserttheCMap corresponding tothefontbeing used. The
default LAT
E
X font uses the OT1 encoding, so it will search for a le called
ot1.cmap, and use that if present. To createa CMap suited to our purposes,
we can make a copy of the T1 encoding (le t1.cmap, which comes included
with the cmappackage) asot1.cmap, andplace it in the samedirectory as the
documentweareediting
6
.WeneedtomakeonesmallchangetoaltertheCMap
and confuseanything thatattemptsto extractthetextfromthePDF:openthe
new ot1.cmaplein a texteditor, andnd the line that reads
<61> <7E> <0061>
This is to be interpreted as an instruction to map character codes 61 to 7E
(hexadecimal) to Unicode characters starting at <0061>, which represents a
lower case‘a’. Ifwe changethisto
<61> <7E> <0062>
theeectistomaptoUnicodecharactersstartingat‘b’. Nowwhenwegenerate
thePDF, themangled CMap will beincluded, and anyattempt to extract the
text will bedefeated. Wheneveran ‘a’ appears in thedocument, itwill beseen
as a ‘b’; a ‘b’ will be seen as a ‘c’; and so on. This can be easily veried by
opening upthePDFwitha suitabledocumentviewerand attempting tosearch
for words and phrases in the document. By including one standard package,
and making a one-characteredit to a singlele, we haveinvisibly altered all of
the lower caseletters in the document. Another one-character edit, if desired,
would deal similarlywith theuppercase characters.
Passing such a document through Turnitin results in a very low score, be-
causeit sees the text as nonsense. Turnitin’s report on a sample PDF built in
thiswayisshownin Figure 2. Notethe score of 0%, and thegarbled extracted
text.
Themodiedot1.cmapand samplePDF,along with othersupporting les,
are availableonline
7
.
2.2 Rearranging the glyphs in the font itself
Anotheroptionisto alterorrearrangetheglyphs themselves, so thatthemap-
pingfromcharactercodesto glyphsno longercorresponds tothenormalalpha-
bet.
Whatisvisibletotheplagiarismdetectionsoftwareisthestored textbefore
the translation into glyphs occurs. Figure 3 shows the glyphs associated with
theletters ‘e’ and‘x’ in a typical font.
Thehumanreaderseestheglyphsratherthanthetextitself. Theequivalence
ofthetworeliesontherebeingasensiblemappingofcharacterstoglyphsinside
the font; that is to say, an ‘x’ in the text comes out looking like an ‘x’ only
because the font correctlymaps theletter ‘x’ to a glyph that has a shape that
looks like‘x’. Ifthefont mapped an ‘x’ to a shape that looked likean ‘e’, the
6We here e use t1.cmap as s the e starting point t rather than ot1.cmap p because e some older
distributionsdonotcontainthelatter;buteitherwillworkne.
7
http://www.computing.surrey.ac.uk/personal/st/J.Heather/plagiarism/
5
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
adding form fields to pdf; create a pdf form to fill out
.NET PDF Document Viewing, Annotation, Conversion & Processing
Form Process. Fill in form data programmatically. Read form data from PDF form file. Add, Update, Delete form fields programmatically. Document Protect.
add forms to pdf; pdf save form data
Figure2: Submitting a PDF witha mangled CMap to Turnitin
Character
e
x
Glyph
Figure 3: Glyphsin an unmodied font
6
Character
e
x
Glyph
Figure 4: Glyphsin a modied font
eect would bethat the text inside the PDF would still contain an ‘x’, but to
ahuman, itwould appear to bea letter ‘e’.
This opens up an interesting possibility. If we modify a font so that it
containsthesameglyphsasbeforebutwith someofthemswappedround,then
thelinkbetween the textand itsprinted representationwill bebroken.
Figure4showsa fontinwhichtheglyphsfor‘e’ and‘x’havebeenswapped.
OpeningupMicrosoftWordorOpenOceWriter,selectingthisfont,andtyping
in ‘xetra’ results in what appears to be ‘extra’ being typeset in the document.
This is how it will appear on the screen, and this is how it will print; but
internallyit representsthe (non-)word‘xetra’. Thespell checkerwill treatitas
such; a search-and-replace will do thesame; and, cruciallyfor ourpurposes, so
will a plagiarism detection systemlike Turnitin.
To produce a document that clears Turnitin bythis mechanism, one has to
perform thefollowing steps.
1. Create a modied version of a standard font with some letters switched
round. This can be done quickly and easily with a program like Font-
Forge
8
, which is free software, available for Linux, Windows and Mac.
This needs to be done only once; subsequently, the same font can be
reused foranynumber of documents.
2. Type the document in the usual way, initially using the standard font.
This can be done in any word processing software, including Microsoft
Word and OpenOce Writer.
3. Identify the parts of the document to be masked from the plagiarism
detection software. Switchthesepartsto using themodiedfont.
4. Use search-and-replace on those parts of the document to switch letters
around so that the document looks and prints as normal.
5. Export the document as a PDF, and submitit.
The last step is necessary because a typical word processor document (for
example, a Microsoft Word document) does not contain the font itself. If the
document wereto beopened on a machinethat didnot have themodiedfont
installed, itwould berenderedusing a dierentfont, and thealterations would
be visible. A PDF, by contrast, can have the fonts embedded inside, and so
would lookthesameregardlessofwhatfontsareinstalledonthemachinebeing
used to view or print thedocument.
Figure 5 shows Turnitin’s report from a sample PDF created with such a
modied font. Noteagain thescore of 0%, andthenonsense text.
8
http://fontforge.sourceforge.net/
7
Figure5: Submitting a PDF withrearranged glyphs to Turnitin
8
ThemodiedfontandsamplePDF areavailableonlineattheURLgivenin
Section 2.1.
2.3 Converting text to Bezier curves
Athird approach isto replaceall text in thedocument with theBezier curves
thatrepresentitsshape. Forthis,weneedaPDF,butthesourceofthePDFisof
noimportance: itcanbeproducedinanywaywewish,includingusingMicrosoft
Wordoranyotherwordprocessing package. Aftertyping(or, perhaps, copying
and pasting!) the document, we convert it to a PDF; we are now ready to
process the PDF so that itpasses theplagiarismcheck.
Thefactthatthetextisstoredinthedocumentiscrucialforhowplagiarism
detection systems work: they need to recover the text in order to compare it
withother documents. Ifthereisno text, thentheplagiarismdetectioncannot
function.
However, aPDF canalsorepresentarbitraryBeziercurves,drawnanywhere
on the page; thisis essential for allowing diagrams and graphs to bedisplayed.
Wecantakeadvantageofthisbytakingeachcharacteronthepageandreplacing
it with the Bezier curvethat denes thecharacterglyph. Thisdoes not visibly
alteranything|after all, we are simplyperforming thesamerendering process
that the PDF viewer would perform. The eect on anything that attempts
to extract text from the document is, however, to make all the text invisible.
Eectively, we have replaced each character with a small drawing that looks
exactly the same as the character; the plagiarism detection software now sees
no textat all, butonlydiagrams.
The mostsurprising thing of all is that transforming a PDF in this fashion
is easilyaccomplishedwith a single command, using only freesoftware:
pstoedit -dt -ssp -psarg -r300x300 input.pdf output.pdf
The pstoedit program
9
is available on most Linux systems; there is also a
Windowsversion. Ourtests,usingpstoeditv3.45onFedora10,haveshownthat
the above process produces a PDF that is indistinguishable from the original
when viewed on screen orprinted, butfrom which no text can beextracted.
The PDF, oncethus processed, is not quite readyto be submitted yet. An
attemptto submitsuch aletoTurnitin results in thele’sbeing rejected, not
because it contains plagiarized material, but because it is below theminimum
acceptableword length: Turnitin cannot see any words at all!
How can weimproveonthis?
2.3.1 Overlaying text in white
InplaceswherewehaveappliedtheBeziercurvestechnique, andthusmadethe
plagiarized material invisibleto the detection software, we can supply replace-
ment textto thedetectionsoftware, butmakeitinvisibleto thehumanreader.
This involves a simple trick: weadd somemore text, and changeits colour to
white. Alternatively, ina full typesetting system like L
A
T
E
X, wecouldmovethe
replacementtextto apositionoutsidethephysicalboundariesofthepage. The
detection softwarewill stillread thetext, inspiteofthechangeincolourorthe
9
http://www.pstoedit.net/
9
out-of-bounds positioning. But the text will not be visible when printing the
document, or when viewing it on screen.
Bycombining Bezier curves with white or mispositionedtext, it ispossible,
if desired, to produce a document whose human-readable text and machine-
readable textarecompletelyunrelated.
To supply replacement text, we start by creating another PDF containing
the text we want Turnitin to see, and changing its colour to white. We now
havetwo PDFs: onecontaining thehuman-readabletext,butnothingmachine-
readable (because it has been converted to Bezier curves), and one containing
the machine-readable text, but nothing human-readable (because it is white).
The nal step is to mergethe two.
Themergecanbeperformedinasinglestep, again using freesoftware. This
time we use the pdftk program
10
,also available on most Linux systems, and
also available on Windows. To mergethetwo les, weexecute
pdftk bezier.pdf background white.pdf output combined.pdf
where bezier.pdf is the lecontaining theBeziercurves, and white.pdfcon-
tains the whitereplacement text, and combined.pdfis the desired outputle.
TheresultinglepassesthroughTurnitinwithoutproblems. Thescoregiven
byTurnitin depends entirelyonthereplacementtext,soaslongasthatis orig-
inal text, thescorewill below. TheTurnitinreportshown in Figure 6resulted
from submitting a PDF created using pdftk v1.41 on Fedora 10. Samples are
availableonlineattheURL given in Section 2.1.
3 Analysis
We must ask: how likely isthe user to get awaywith this? Will no-one notice
if theuser submits a le thathas been processed inone of these ways?
3.1 Changing the character map or glyphs
Anattempttoextractthetextfroma documentthathashaditscharactermap
or font altered will result in nonsense text being extracted; this in turn will
resultin averylowmatchbetween thedocument andanyother(probably0%).
This could be picked up on in one of two ways: either the operator suspects
foul playbecauseofthe0%, and decides to investigate further, ortheoperator
routinely looks at the extracted text, and notices in this case that the text is
nonsense.
Both of these problems can be alleviated by applying the technique to se-
lected parts of the document rather than to the document as a whole. For
instance, in a submission with a plagiarized literature review, one could create
two fonts,whichwouldlookthesame,butonewouldhavenon-standardcharac-
ter mappings. The literature review could have the technique described above
applied to it, using the non-standard font; the rest of thedocument would be
leftuntouched, usingthestandardfont. Theresultwouldbethattheplagiarism
checkwould return a much more typical score, and much oftheextracted text
would look normal. A casual scan through the matches would reveal nothing
10
http://www.accesspdf.com/pdftk/
10
Documents you may be interested
Documents you may be interested